]> Gentwo Git Trees - linux/.git/log
linux/.git
9 months agoMerge branch 'sunxi/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi...
Stephen Rothwell [Mon, 24 Feb 2025 23:39:00 +0000 (10:39 +1100)]
Merge branch 'sunxi/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git

9 months agoMerge branch 'stm32-next' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue...
Stephen Rothwell [Mon, 24 Feb 2025 23:38:59 +0000 (10:38 +1100)]
Merge branch 'stm32-next' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git

9 months agoMerge branch 'for-next' of https://github.com/spacemit-com/linux
Stephen Rothwell [Mon, 24 Feb 2025 23:38:58 +0000 (10:38 +1100)]
Merge branch 'for-next' of https://github.com/spacemit-com/linux

9 months agoMerge branch 'for-next' of https://github.com/sophgo/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:38:57 +0000 (10:38 +1100)]
Merge branch 'for-next' of https://github.com/sophgo/linux.git

9 months agoMerge branch 'for-linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep...
Stephen Rothwell [Mon, 24 Feb 2025 23:38:56 +0000 (10:38 +1100)]
Merge branch 'for-linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git

9 months agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:38:55 +0000 (10:38 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git

9 months agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux...
Stephen Rothwell [Mon, 24 Feb 2025 23:38:53 +0000 (10:38 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git

9 months agoMerge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas...
Stephen Rothwell [Mon, 24 Feb 2025 23:38:52 +0000 (10:38 +1100)]
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel.git

9 months agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:38:51 +0000 (10:38 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git

9 months agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman...
Stephen Rothwell [Mon, 24 Feb 2025 23:38:50 +0000 (10:38 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap.git

9 months agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement...
Stephen Rothwell [Mon, 24 Feb 2025 23:38:49 +0000 (10:38 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu.git

9 months agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mediatek...
Stephen Rothwell [Mon, 24 Feb 2025 23:38:48 +0000 (10:38 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux.git

9 months agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo...
Stephen Rothwell [Mon, 24 Feb 2025 23:38:47 +0000 (10:38 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git

9 months agoMerge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux...
Stephen Rothwell [Mon, 24 Feb 2025 23:38:45 +0000 (10:38 +1100)]
Merge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl.git

9 months agoMerge branch 'davinci/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git...
Stephen Rothwell [Mon, 24 Feb 2025 23:38:44 +0000 (10:38 +1100)]
Merge branch 'davinci/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git

9 months agoMerge branch 'next' of https://github.com/Broadcom/stblinux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:38:44 +0000 (10:38 +1100)]
Merge branch 'next' of https://github.com/Broadcom/stblinux.git

9 months agoMerge branch 'at91-next' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:38:43 +0000 (10:38 +1100)]
Merge branch 'at91-next' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux.git

9 months agoMerge branch 'asahi-soc/for-next' of https://github.com/AsahiLinux/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:38:41 +0000 (10:38 +1100)]
Merge branch 'asahi-soc/for-next' of https://github.com/AsahiLinux/linux.git

9 months agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic...
Stephen Rothwell [Mon, 24 Feb 2025 23:38:40 +0000 (10:38 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git

9 months agoMerge branch 'for-next/core' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64...
Stephen Rothwell [Mon, 24 Feb 2025 23:38:38 +0000 (10:38 +1100)]
Merge branch 'for-next/core' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

9 months agoMerge branch 'perf-tools-next' of git://git.kernel.org/pub/scm/linux/kernel/git/perf...
Stephen Rothwell [Mon, 24 Feb 2025 23:36:18 +0000 (10:36 +1100)]
Merge branch 'perf-tools-next' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git

9 months agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
Stephen Rothwell [Mon, 24 Feb 2025 23:36:16 +0000 (10:36 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git

9 months agoMerge branch 'mm-everything' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Stephen Rothwell [Mon, 24 Feb 2025 23:11:25 +0000 (10:11 +1100)]
Merge branch 'mm-everything' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

9 months agoMerge branch 'for-linux-next-fixes' of https://gitlab.freedesktop.org/drm/misc/kernel.git linux-next/pending-fixes
Stephen Rothwell [Mon, 24 Feb 2025 22:46:41 +0000 (09:46 +1100)]
Merge branch 'for-linux-next-fixes' of https://gitlab.freedesktop.org/drm/misc/kernel.git

9 months agoMerge branch 'tip/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
Stephen Rothwell [Mon, 24 Feb 2025 22:46:39 +0000 (09:46 +1100)]
Merge branch 'tip/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git

9 months agoMerge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git
Stephen Rothwell [Mon, 24 Feb 2025 22:46:36 +0000 (09:46 +1100)]
Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git

9 months agoMerge branch 'perf-tools' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:35 +0000 (09:46 +1100)]
Merge branch 'perf-tools' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools

9 months agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:34 +0000 (09:46 +1100)]
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel.git

# Conflicts:
# MAINTAINERS

9 months agoMerge branch 'riscv-dt-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/conor...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:27 +0000 (09:46 +1100)]
Merge branch 'riscv-dt-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git

9 months agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 22:46:26 +0000 (09:46 +1100)]
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git

9 months agoMerge branch 'hyperv-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:25 +0000 (09:46 +1100)]
Merge branch 'hyperv-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git

9 months agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
Stephen Rothwell [Mon, 24 Feb 2025 22:46:24 +0000 (09:46 +1100)]
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git

9 months agoMerge branch 'hwmon' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:22 +0000 (09:46 +1100)]
Merge branch 'hwmon' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git

9 months agoMerge branch 'master' of git://git.kernel.org/pub/scm/virt/kvm/kvm.git
Stephen Rothwell [Mon, 24 Feb 2025 22:46:21 +0000 (09:46 +1100)]
Merge branch 'master' of git://git.kernel.org/pub/scm/virt/kvm/kvm.git

9 months agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:20 +0000 (09:46 +1100)]
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap.git

9 months agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git
Stephen Rothwell [Mon, 24 Feb 2025 22:46:19 +0000 (09:46 +1100)]
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git

# Conflicts:
# drivers/dma/tegra210-adma.c

9 months agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git
Stephen Rothwell [Mon, 24 Feb 2025 22:46:17 +0000 (09:46 +1100)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git

9 months agoMerge branch 'char-misc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregk...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:14 +0000 (09:46 +1100)]
Merge branch 'char-misc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git

9 months agoMerge branch 'fixes-togreg' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:13 +0000 (09:46 +1100)]
Merge branch 'fixes-togreg' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git

9 months agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git
Stephen Rothwell [Mon, 24 Feb 2025 22:46:12 +0000 (09:46 +1100)]
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git

9 months agoMerge branch 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:11 +0000 (09:46 +1100)]
Merge branch 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git

9 months agoMerge branch 'driver-core-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:10 +0000 (09:46 +1100)]
Merge branch 'driver-core-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git

9 months agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:09 +0000 (09:46 +1100)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git

9 months agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:08 +0000 (09:46 +1100)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git

9 months agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
Stephen Rothwell [Mon, 24 Feb 2025 22:46:07 +0000 (09:46 +1100)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git

9 months agoMerge branch 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git
Stephen Rothwell [Mon, 24 Feb 2025 22:46:06 +0000 (09:46 +1100)]
Merge branch 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git

9 months agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:05 +0000 (09:46 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless.git

9 months agoMerge branch 'main' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
Stephen Rothwell [Mon, 24 Feb 2025 22:46:03 +0000 (09:46 +1100)]
Merge branch 'main' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git

9 months agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 22:46:02 +0000 (09:46 +1100)]
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git

9 months agoMerge branch 'fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux...
Stephen Rothwell [Mon, 24 Feb 2025 22:46:01 +0000 (09:46 +1100)]
Merge branch 'fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl.git

9 months agoMerge branch 'fs-current' of linux-next
Stephen Rothwell [Mon, 24 Feb 2025 22:45:59 +0000 (09:45 +1100)]
Merge branch 'fs-current' of linux-next

9 months agoMerge branch 'mm-hotfixes-unstable' of git://git.kernel.org/pub/scm/linux/kernel...
Stephen Rothwell [Mon, 24 Feb 2025 22:45:58 +0000 (09:45 +1100)]
Merge branch 'mm-hotfixes-unstable' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

9 months agoMerge branch 'next-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave... linux-next/fs-current
Stephen Rothwell [Mon, 24 Feb 2025 22:23:25 +0000 (09:23 +1100)]
Merge branch 'next-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git

9 months agoMerge branch 'vfs.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:24 +0000 (09:23 +1100)]
Merge branch 'vfs.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git

9 months agoselftests: drv-net: test XDP, HDS auto and the ioctl path
Jakub Kicinski [Fri, 21 Feb 2025 02:51:41 +0000 (18:51 -0800)]
selftests: drv-net: test XDP, HDS auto and the ioctl path

Test XDP and HDS interaction. While at it add a test for using the IOCTL,
as that turned out to be the real culprit.

Testing bnxt:

  # NETIF=eth0 ./ksft-net-drv/drivers/net/hds.py
  KTAP version 1
  1..12
  ok 1 hds.get_hds
  ok 2 hds.get_hds_thresh
  ok 3 hds.set_hds_disable # SKIP disabling of HDS not supported by the device
  ok 4 hds.set_hds_enable
  ok 5 hds.set_hds_thresh_zero
  ok 6 hds.set_hds_thresh_max
  ok 7 hds.set_hds_thresh_gt
  ok 8 hds.set_xdp
  ok 9 hds.enabled_set_xdp
  ok 10 hds.ioctl
  ok 11 hds.ioctl_set_xdp
  ok 12 hds.ioctl_enabled_set_xdp
  # Totals: pass:11 fail:0 xfail:0 xpass:0 skip:1 error:0

and netdevsim:

  # ./ksft-net-drv/drivers/net/hds.py
  KTAP version 1
  1..12
  ok 1 hds.get_hds
  ok 2 hds.get_hds_thresh
  ok 3 hds.set_hds_disable
  ok 4 hds.set_hds_enable
  ok 5 hds.set_hds_thresh_zero
  ok 6 hds.set_hds_thresh_max
  ok 7 hds.set_hds_thresh_gt
  ok 8 hds.set_xdp
  ok 9 hds.enabled_set_xdp
  ok 10 hds.ioctl
  ok 11 hds.ioctl_set_xdp
  ok 12 hds.ioctl_enabled_set_xdp
  # Totals: pass:12 fail:0 xfail:0 xpass:0 skip:0 error:0

Netdevsim needs a sane default for tx/rx ring size.

ethtool 6.11 is needed for the --disable-netlink option.

Acked-by: Stanislav Fomichev <sdf@fomichev.me>
Tested-by: Taehee Yoo <ap420073@gmail.com>
Link: https://patch.msgid.link/20250221025141.1132944-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
9 months agonet: ethtool: fix ioctl confusing drivers about desired HDS user config
Jakub Kicinski [Fri, 21 Feb 2025 02:51:40 +0000 (18:51 -0800)]
net: ethtool: fix ioctl confusing drivers about desired HDS user config

The legacy ioctl path does not have support for extended attributes.
So we issue a GET to fetch the current settings from the driver,
in an attempt to keep them unchanged. HDS is a bit "special" as
the GET only returns on/off while the SET takes a "ternary" argument
(on/off/default). If the driver was in the "default" setting -
executing the ioctl path binds it to on or off, even tho the user
did not intend to change HDS config.

Factor the relevant logic out of the netlink code and reuse it.

Fixes: 87c8f8496a05 ("bnxt_en: add support for tcp-data-split ethtool command")
Acked-by: Stanislav Fomichev <sdf@fomichev.me>
Tested-by: Daniel Xu <dxu@dxuuu.xyz>
Tested-by: Taehee Yoo <ap420073@gmail.com>
Link: https://patch.msgid.link/20250221025141.1132944-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
9 months agoMerge branch into tip/master: 'perf/urgent'
Ingo Molnar [Mon, 24 Feb 2025 19:40:17 +0000 (20:40 +0100)]
Merge branch into tip/master: 'perf/urgent'

 # New commits in perf/urgent:
    bddf10d26e6e ("uprobes: Reject the shared zeropage in uprobe_write_opcode()")
    2016066c6619 ("perf/core: Order the PMU list to fix warning about unordered pmu_ctx_list")
    0fe8813baf4b ("perf/core: Add RCU read lock protection to perf_iterate_ctx()")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
9 months agoMerge branch into tip/master: 'locking/urgent'
Ingo Molnar [Mon, 24 Feb 2025 19:40:17 +0000 (20:40 +0100)]
Merge branch into tip/master: 'locking/urgent'

 # New commits in locking/urgent:
    b9a49520679e ("rcuref: Plug slowpath race in rcuref_put()")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
9 months agouprobes: Reject the shared zeropage in uprobe_write_opcode()
Tong Tiangen [Mon, 24 Feb 2025 03:11:49 +0000 (11:11 +0800)]
uprobes: Reject the shared zeropage in uprobe_write_opcode()

We triggered the following crash in syzkaller tests:

  BUG: Bad page state in process syz.7.38  pfn:1eff3
  page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1eff3
  flags: 0x3fffff00004004(referenced|reserved|node=0|zone=1|lastcpupid=0x1fffff)
  raw: 003fffff00004004 ffffe6c6c07bfcc8 ffffe6c6c07bfcc8 0000000000000000
  raw: 0000000000000000 0000000000000000 00000000fffffffe 0000000000000000
  page dumped because: PAGE_FLAGS_CHECK_AT_FREE flag(s) set
  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014
  Call Trace:
   <TASK>
   dump_stack_lvl+0x32/0x50
   bad_page+0x69/0xf0
   free_unref_page_prepare+0x401/0x500
   free_unref_page+0x6d/0x1b0
   uprobe_write_opcode+0x460/0x8e0
   install_breakpoint.part.0+0x51/0x80
   register_for_each_vma+0x1d9/0x2b0
   __uprobe_register+0x245/0x300
   bpf_uprobe_multi_link_attach+0x29b/0x4f0
   link_create+0x1e2/0x280
   __sys_bpf+0x75f/0xac0
   __x64_sys_bpf+0x1a/0x30
   do_syscall_64+0x56/0x100
   entry_SYSCALL_64_after_hwframe+0x78/0xe2

   BUG: Bad rss-counter state mm:00000000452453e0 type:MM_FILEPAGES val:-1

The following syzkaller test case can be used to reproduce:

  r2 = creat(&(0x7f0000000000)='./file0\x00', 0x8)
  write$nbd(r2, &(0x7f0000000580)=ANY=[], 0x10)
  r4 = openat(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x42, 0x0)
  mmap$IORING_OFF_SQ_RING(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x0, 0x12, r4, 0x0)
  r5 = userfaultfd(0x80801)
  ioctl$UFFDIO_API(r5, 0xc018aa3f, &(0x7f0000000040)={0xaa, 0x20})
  r6 = userfaultfd(0x80801)
  ioctl$UFFDIO_API(r6, 0xc018aa3f, &(0x7f0000000140))
  ioctl$UFFDIO_REGISTER(r6, 0xc020aa00, &(0x7f0000000100)={{&(0x7f0000ffc000/0x4000)=nil, 0x4000}, 0x2})
  ioctl$UFFDIO_ZEROPAGE(r5, 0xc020aa04, &(0x7f0000000000)={{&(0x7f0000ffd000/0x1000)=nil, 0x1000}})
  r7 = bpf$PROG_LOAD(0x5, &(0x7f0000000140)={0x2, 0x3, &(0x7f0000000200)=ANY=[@ANYBLOB="1800000000120000000000000000000095"], &(0x7f0000000000)='GPL\x00', 0x7, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, @fallback=0x30, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, @void, @value}, 0x94)
  bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000040)={r7, 0x0, 0x30, 0x1e, @val=@uprobe_multi={&(0x7f0000000080)='./file0\x00', &(0x7f0000000100)=[0x2], 0x0, 0x0, 0x1}}, 0x40)

The cause is that zero pfn is set to the PTE without increasing the RSS
count in mfill_atomic_pte_zeropage() and the refcount of zero folio does
not increase accordingly. Then, the operation on the same pfn is performed
in uprobe_write_opcode()->__replace_page() to unconditional decrease the
RSS count and old_folio's refcount.

Therefore, two bugs are introduced:

 1. The RSS count is incorrect, when process exit, the check_mm() report
    error "Bad rss-count".

 2. The reserved folio (zero folio) is freed when folio->refcount is zero,
    then free_pages_prepare->free_page_is_bad() report error
    "Bad page state".

There is more, the following warning could also theoretically be triggered:

  __replace_page()
    -> ...
      -> folio_remove_rmap_pte()
        -> VM_WARN_ON_FOLIO(is_zero_folio(folio), folio)

Considering that uprobe hit on the zero folio is a very rare case, just
reject zero old folio immediately after get_user_page_vma_remote().

[ mingo: Cleaned up the changelog ]

Fixes: 7396fa818d62 ("uprobes/core: Make background page replacement logic account for rss_stat counters")
Fixes: 2b1444983508 ("uprobes, mm, x86: Add the ability to install and remove uprobes breakpoints")
Signed-off-by: Tong Tiangen <tongtiangen@huawei.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Link: https://lore.kernel.org/r/20250224031149.1598949-1-tongtiangen@huawei.com
9 months agoperf/core: Order the PMU list to fix warning about unordered pmu_ctx_list
Luo Gengkun [Wed, 22 Jan 2025 07:33:56 +0000 (07:33 +0000)]
perf/core: Order the PMU list to fix warning about unordered pmu_ctx_list

Syskaller triggers a warning due to prev_epc->pmu != next_epc->pmu in
perf_event_swap_task_ctx_data(). vmcore shows that two lists have the same
perf_event_pmu_context, but not in the same order.

The problem is that the order of pmu_ctx_list for the parent is impacted by
the time when an event/PMU is added. While the order for a child is
impacted by the event order in the pinned_groups and flexible_groups. So
the order of pmu_ctx_list in the parent and child may be different.

To fix this problem, insert the perf_event_pmu_context to its proper place
after iteration of the pmu_ctx_list.

The follow testcase can trigger above warning:

 # perf record -e cycles --call-graph lbr -- taskset -c 3 ./a.out &
 # perf stat -e cpu-clock,cs -p xxx // xxx is the pid of a.out

 test.c

 void main() {
        int count = 0;
        pid_t pid;

        printf("%d running\n", getpid());
        sleep(30);
        printf("running\n");

        pid = fork();
        if (pid == -1) {
                printf("fork error\n");
                return;
        }
        if (pid == 0) {
                while (1) {
                        count++;
                }
        } else {
                while (1) {
                        count++;
                }
        }
 }

The testcase first opens an LBR event, so it will allocate task_ctx_data,
and then open tracepoint and software events, so the parent context will
have 3 different perf_event_pmu_contexts. On inheritance, child ctx will
insert the perf_event_pmu_context in another order and the warning will
trigger.

[ mingo: Tidied up the changelog. ]

Fixes: bd2756811766 ("perf: Rewrite core context handling")
Signed-off-by: Luo Gengkun <luogengkun@huaweicloud.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Kan Liang <kan.liang@linux.intel.com>
Link: https://lore.kernel.org/r/20250122073356.1824736-1-luogengkun@huaweicloud.com
9 months agoMerge tag 'kvm-riscv-fixes-6.14-1' of https://github.com/kvm-riscv/linux into HEAD
Paolo Bonzini [Mon, 24 Feb 2025 18:20:30 +0000 (13:20 -0500)]
Merge tag 'kvm-riscv-fixes-6.14-1' of https://github.com/kvm-riscv/linux into HEAD

KVM/riscv fixes for 6.14, take #1

- Fix hart status check in SBI HSM extension
- Fix hart suspend_type usage in SBI HSM extension
- Fix error returned by SBI IPI and TIME extensions for
  unsupported function IDs
- Fix suspend_type usage in SBI SUSP extension
- Remove unnecessary vcpu kick after injecting interrupt
  via IMSIC guest file

9 months agoMerge tag 'kvmarm-fixes-6.14-3' of git://git.kernel.org/pub/scm/linux/kernel/git...
Paolo Bonzini [Mon, 24 Feb 2025 18:20:00 +0000 (13:20 -0500)]
Merge tag 'kvmarm-fixes-6.14-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD

KVM/arm64 fixes for 6.14, take #3

- Fix TCR_EL2 configuration to not use the ASID in TTBR1_EL2
  and not mess-up T1SZ/PS by using the HCR_EL2.E2H==0 layout.

- Bring back the VMID allocation to the vcpu_load phase, ensuring
  that we only setup VTTBR_EL2 once on VHE. This cures an ugly
  race that would lead to running with an unallocated VMID.

9 months agoperf/core: Add RCU read lock protection to perf_iterate_ctx()
Breno Leitao [Fri, 17 Jan 2025 14:41:07 +0000 (06:41 -0800)]
perf/core: Add RCU read lock protection to perf_iterate_ctx()

The perf_iterate_ctx() function performs RCU list traversal but
currently lacks RCU read lock protection. This causes lockdep warnings
when running perf probe with unshare(1) under CONFIG_PROVE_RCU_LIST=y:

WARNING: suspicious RCU usage
kernel/events/core.c:8168 RCU-list traversed in non-reader section!!

 Call Trace:
  lockdep_rcu_suspicious
  ? perf_event_addr_filters_apply
  perf_iterate_ctx
  perf_event_exec
  begin_new_exec
  ? load_elf_phdrs
  load_elf_binary
  ? lock_acquire
  ? find_held_lock
  ? bprm_execve
  bprm_execve
  do_execveat_common.isra.0
  __x64_sys_execve
  do_syscall_64
  entry_SYSCALL_64_after_hwframe

This protection was previously present but was removed in commit
bd2756811766 ("perf: Rewrite core context handling"). Add back the
necessary rcu_read_lock()/rcu_read_unlock() pair around
perf_iterate_ctx() call in perf_event_exec().

[ mingo: Use scoped_guard() as suggested by Peter ]

Fixes: bd2756811766 ("perf: Rewrite core context handling")
Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250117-fix_perf_rcu-v1-1-13cb9210fc6a@debian.org
9 months agoASoC: es8328: fix route from DAC to output
Nicolas Frattaroli [Sat, 22 Feb 2025 19:39:57 +0000 (20:39 +0100)]
ASoC: es8328: fix route from DAC to output

The ES8328 codec driver, which is also used for the ES8388 chip that
appears to have an identical register map, claims that the output can
either take the route from DAC->Mixer->Output or through DAC->Output
directly. To the best of what I could find, this is not true, and
creates problems.

Without DACCONTROL17 bit index 7 set for the left channel, as well as
DACCONTROL20 bit index 7 set for the right channel, I cannot get any
analog audio out on Left Out 2 and Right Out 2 respectively, despite the
DAPM routes claiming that this should be possible. Furthermore, the same
is the case for Left Out 1 and Right Out 1, showing that those two don't
have a direct route from DAC to output bypassing the mixer either.

Those control bits toggle whether the DACs are fed (stale bread?) into
their respective mixers. If one "unmutes" the mixer controls in
alsamixer, then sure, the audio output works, but if it doesn't work
without the mixer being fed the DAC input then evidently it's not a
direct output from the DAC.

ES8328/ES8388 are seemingly not alone in this. ES8323, which uses a
separate driver for what appears to be a very similar register map,
simply flips those two bits on in its probe function, and then pretends
there is no power management whatsoever for the individual controls.
Fair enough.

My theory as to why nobody has noticed this up to this point is that
everyone just assumes it's their fault when they had to unmute an
additional control in ALSA.

Fix this in the es8328 driver by removing the erroneous direct route,
then get rid of the playback switch controls and have those bits tied to
the mixer's widget instead, which until now had no register to play
with.

Fixes: 567e4f98922c ("ASoC: add es8328 codec driver")
Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Link: https://patch.msgid.link/20250222-es8328-route-bludgeoning-v1-1-99bfb7fb22d9@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org>
9 months agoMerge branch 'v6.14-next/soc' into for-next
AngeloGioacchino Del Regno [Mon, 24 Feb 2025 14:02:57 +0000 (15:02 +0100)]
Merge branch 'v6.14-next/soc' into for-next

9 months agomailbox: mtk-cmdq: Refine GCE_GCTL_VALUE setting
Jason-JH Lin [Mon, 24 Feb 2025 10:50:13 +0000 (18:50 +0800)]
mailbox: mtk-cmdq: Refine GCE_GCTL_VALUE setting

Add cmdq_gctl_value_toggle() to configure GCE_CTRL_BY_SW and GCE_DDR_EN
together in the same GCE_GCTL_VALUE register.

For the SoCs whose GCE is located in MMINFRA and uses MMINFRA_AO power,
this allows it to be written without enabling the clocks. Otherwise, all
GCE registers should be written after the GCE clocks are enabled.
Move this function into cmdq_runtime_resume() and cmdq_runtime_suspend()
to ensure it is called when the GCE clock is enabled.

Fixes: 7abd037aa581 ("mailbox: mtk-cmdq: add gce ddr enable support flow")
Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20250224105414.3576243-1-jason-jh.lin@mediatek.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
9 months agoarm64: dts: mediatek: mt8395-genio-1200-evk: add support for TCPC port
Fabien Parent [Mon, 24 Feb 2025 11:49:34 +0000 (19:49 +0800)]
arm64: dts: mediatek: mt8395-genio-1200-evk: add support for TCPC port

Enable USB Type-C support on MediaTek MT8395 Genio 1200 EVK by adding
configuration for TCPC Port, USB-C connector, MUX IT5205 and related
settings.

Configure dual role switch capability, set up PD (Power Delivery) profiles,
and establish endpoints for SS (SuperSpeed) and HS (HighSpeed) USB.

Update pinctrl configurations for U3 P0 VBus default pins and set dr_mode
to "otg" for OTG (On-The-Go) mode operation.

Add ITE IT5205 (TYPEC MUX) under I2C2 bus and configure its properties;
also add references and configurations to 'typec-mux' node.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Yow-Shin Liou <yow-shin.liou@mediatek.com>
Signed-off-by: Simon Sun <simon.sun@yunjingtech.com>
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20250224114934.3583191-1-macpaul.lin@mediatek.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
9 months agodt-bindings: usb: mtu3: Add ports property
Macpaul Lin [Thu, 20 Feb 2025 14:22:30 +0000 (22:22 +0800)]
dt-bindings: usb: mtu3: Add ports property

Define the ports property in the mediatek,mtu3 device tree binding schema.
Include definitions for port@0 and port@1, specifying their roles as
High Speed (HS) and Super Speed (SS) data buses, respectively.

Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
Reviewed-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20250220142230.2530583-1-macpaul.lin@mediatek.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
9 months agoarm64: dts: mediatek: mt8390-genio-common: Configure touch vreg pins
AngeloGioacchino Del Regno [Thu, 20 Feb 2025 11:09:48 +0000 (12:09 +0100)]
arm64: dts: mediatek: mt8390-genio-common: Configure touch vreg pins

Add a pinctrl configuration for the Touchscreen IC's power line
to make sure that the pin is configured as GPIO and to stop
relying on correct pin configuration from bootloader.

Link: https://lore.kernel.org/r/20250220110948.45596-5-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
9 months agoarm64: dts: mediatek: mt8188-geralt: Add graph for DSI and DP displays
AngeloGioacchino Del Regno [Thu, 20 Feb 2025 11:09:47 +0000 (12:09 +0100)]
arm64: dts: mediatek: mt8188-geralt: Add graph for DSI and DP displays

The base SoC devicetree now defines a display controller graph:
connect the board specific outputs (eDP internal display, DP
external display) to fully migrate Cherry and make it finally
possible to make Chromebooks and other board types to coexist
without per-board driver modifications.

Tested-by: Chen-Yu Tsai <wenst@chromium.org> # On MT8188 Ciri (int. and ext.)
Link: https://lore.kernel.org/r/20250220110948.45596-4-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
9 months agoarm64: dts: mediatek: mt8390-genio-common: Add Display on DSI0
AngeloGioacchino Del Regno [Thu, 20 Feb 2025 11:09:46 +0000 (12:09 +0100)]
arm64: dts: mediatek: mt8390-genio-common: Add Display on DSI0

Configure the DSI0 display pipeline and add regulator, pinctrl
and display node to enable the Startek KD070FHFID078 panel found
on the MediaTek Genio 510 and Genio 700 EVKs.

Link: https://lore.kernel.org/r/20250220110948.45596-3-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
9 months agoarm64: dts: mediatek: mt8188: Add base display controller graph
AngeloGioacchino Del Regno [Thu, 20 Feb 2025 11:09:45 +0000 (12:09 +0100)]
arm64: dts: mediatek: mt8188: Add base display controller graph

The display related IPs in MT8188 are flexible and support being
interconnected with different instances of DDP IPs and/or with
different DDP IPs, forming a full Display Data Path that ends
with an actual display output, which is board specific.

Add a common graph in the main mt8188.dtsi devicetree, which is
shared between all of the currently supported boards.
All boards featuring any display functionality will extend this
common graph to hook the display controller of the SoC to their
specific output port(s).

Tested-by: Chen-Yu Tsai <wenst@chromium.org> # On MT8188 Ciri (int. and ext.)
Link: https://lore.kernel.org/r/20250220110948.45596-2-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
9 months agoarm64: dts: mediatek: mt8390-genio-700: Add USB, TypeC Controller, MUX
AngeloGioacchino Del Regno [Thu, 20 Feb 2025 10:55:14 +0000 (11:55 +0100)]
arm64: dts: mediatek: mt8390-genio-700: Add USB, TypeC Controller, MUX

This board features multiple USB connectors:
 * One Type-C connector with Power Delivery and Alt. Modes;
 * One MicroUSB connector, also used for bootloader SW download;
 * One USB through the RaspberryPi-compatible pins header.

Add configuration for the MTU3 controllers providing OTG support
with role switching both on the MicroUSB port, RPi pins header,
and the Type-C port found on this board.

Moreover, add the Richtek RT1715 Type-C Power Delivery Controller
which manages current source/sink, linked to the iTE IT5205 Type-C
Alternate Mode Passive Mux, handling both mode switching between
USB (up to 3.1 Gen2 10Gbps) and DisplayPort (four lanes, DP1.4,
op to 8.1Gbps) and plug orientation switching.

All USB ports reside on different controller instances, and all of
them support host or gadget and can be configured as desired at
runtime.

Link: https://lore.kernel.org/r/20250220105514.43107-4-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
9 months agoarm64: dts: mediatek: mt8188: Add MTU3 nodes and correctly describe USB
AngeloGioacchino Del Regno [Thu, 20 Feb 2025 10:55:13 +0000 (11:55 +0100)]
arm64: dts: mediatek: mt8188: Add MTU3 nodes and correctly describe USB

The MT8188 SoC has three USB controllers, and all of them are behind
the MTU3 DRD controller.

Add the missing MTU3 nodes, default disabled, for all USB controllers
and move the related XHCI nodes to be children of their MTU3 DRD to
correctly describe the SoC.

In order to retain USB functionality on all of the MT8188 and MT8390
boards, also move the vusb33 supply and enable the relevant MTU3 nodes
with special attention to the MT8188 Geralt Chromebooks, where it was
necessary to set the dr_mode of all MTU3 controllers to host to avoid
interfering with the EC performing DRD on its own.

Tested-by: Chen-Yu Tsai <wenst@chromium.org> # on MT8188 Ciri
Link: https://lore.kernel.org/r/20250220105514.43107-3-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
9 months agodt-bindings: usb: mediatek,mtk-xhci: Add port for SuperSpeed EP
AngeloGioacchino Del Regno [Thu, 20 Feb 2025 10:55:12 +0000 (11:55 +0100)]
dt-bindings: usb: mediatek,mtk-xhci: Add port for SuperSpeed EP

Add a port used to connect the SuperSpeed output endpoint to a
Type-C connector.

Note that the MediaTek XHCI controllers are always in front of a
different controller handling the USB HS (usually, MTU3), so the
only port that this controller provides is SuperSpeed, while the
HighSpeed one comes from elsewhere.

Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20250220105514.43107-2-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
9 months agoMerge branch 'v6.14-next/dts64' into for-next
AngeloGioacchino Del Regno [Mon, 24 Feb 2025 10:27:44 +0000 (11:27 +0100)]
Merge branch 'v6.14-next/dts64' into for-next

9 months agoMerge branch 'at91-dt' into at91-next
Claudiu Beznea [Mon, 24 Feb 2025 10:17:17 +0000 (12:17 +0200)]
Merge branch 'at91-dt' into at91-next

9 months agoMerge branch 'at91-soc' into at91-next
Claudiu Beznea [Mon, 24 Feb 2025 10:17:13 +0000 (12:17 +0200)]
Merge branch 'at91-soc' into at91-next

9 months agoARM: at91: Add Support in SoC driver for SAMA7D65
Ryan Wanner [Fri, 14 Feb 2025 18:08:17 +0000 (11:08 -0700)]
ARM: at91: Add Support in SoC driver for SAMA7D65

Add support for SAMA7D65 SoC in the SoC driver.

Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Link: https://lore.kernel.org/r/84b4a7ec0025741bc3ab647671fd4e880b2ed1d5.1739555984.git.Ryan.Wanner@microchip.com
[claudiu.beznea: add a space after compatibles to comply with the
 existing format]
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
9 months agodt-bindings: atmel-sysreg: Add SAMA7D65 Chip ID
Ryan Wanner [Fri, 14 Feb 2025 18:08:14 +0000 (11:08 -0700)]
dt-bindings: atmel-sysreg: Add SAMA7D65 Chip ID

Add compatible string for SAMA7D65 SoC ChipID dt-bindings.

Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/008e4e49c9fd315cc96a185662b31eca1a64a614.1739555984.git.Ryan.Wanner@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
9 months agoARM: dts: microchip: sama7d65: Enable DMAs
Ryan Wanner [Fri, 14 Feb 2025 18:08:21 +0000 (11:08 -0700)]
ARM: dts: microchip: sama7d65: Enable DMAs

Enable DMA interface for sama7d65_curiosity board.

Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Link: https://lore.kernel.org/r/e233ab028123bd91b1de7b0f02eb966d719cc0af.1739555984.git.Ryan.Wanner@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
9 months agoARM: dts: microchip: sama7d65: Add DMAs to sama7d65 SoC
Ryan Wanner [Fri, 14 Feb 2025 18:08:20 +0000 (11:08 -0700)]
ARM: dts: microchip: sama7d65: Add DMAs to sama7d65 SoC

Add DMAs to the SAMA7D65 SoC device tree.

Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Link: https://lore.kernel.org/r/78da4125a991c6f4081fce78825f1f983091e0f5.1739555984.git.Ryan.Wanner@microchip.com
[claudiu.beznea: dropped extra space in reg property of dma0]
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
9 months agoARM: dts: microchip: sama7d65: Add chipID for sama7d65
Ryan Wanner [Fri, 14 Feb 2025 18:08:18 +0000 (11:08 -0700)]
ARM: dts: microchip: sama7d65: Add chipID for sama7d65

Add chipID for the sama7d65 SoC to the device tree.

Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Link: https://lore.kernel.org/r/14e6cafb64df345e6bd79ac96961248cc266770c.1739555984.git.Ryan.Wanner@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
9 months agonet: dsa: rtl8366rb: Fix compilation problem
Linus Walleij [Thu, 20 Feb 2025 18:48:15 +0000 (19:48 +0100)]
net: dsa: rtl8366rb: Fix compilation problem

When the kernel is compiled without LED framework support the
rtl8366rb fails to build like this:

rtl8366rb.o: in function `rtl8366rb_setup_led':
rtl8366rb.c:953:(.text.unlikely.rtl8366rb_setup_led+0xe8):
  undefined reference to `led_init_default_state_get'
rtl8366rb.c:980:(.text.unlikely.rtl8366rb_setup_led+0x240):
  undefined reference to `devm_led_classdev_register_ext'

As this is constantly coming up in different randconfig builds,
bite the bullet and create a separate file for the offending
code, split out a header with all stuff needed both in the
core driver and the leds code.

Add a new bool Kconfig option for the LED compile target, such
that it depends on LEDS_CLASS=y || LEDS_CLASS=RTL8366RB
which make LED support always available when LEDS_CLASS is
compiled into the kernel and enforce that if the LEDS_CLASS
is a module, then the RTL8366RB driver needs to be a module
as well so that modprobe can resolve the dependencies.

Fixes: 32d617005475 ("net: dsa: realtek: add LED drivers for rtl8366rb")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202502070525.xMUImayb-lkp@intel.com/
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9 months agoarm64: dts: mediatek: mt8390-genio-common: Fix duplicated regulator name
Louis-Alexis Eyraud [Fri, 21 Feb 2025 08:49:52 +0000 (09:49 +0100)]
arm64: dts: mediatek: mt8390-genio-common: Fix duplicated regulator name

usb_p2_vbus regulator has the same regulator-name property value as
sdio_fixed_3v3, so change it to avoid this.

Fixes: a4fd1943bf9b ("arm64: dts: mediatek: mt8390-genio-700-evk: update regulator names")
Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20250221-fix-mtk8390-genio-common-dup-regulator-name-v1-1-92f7b9f7a414@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
9 months agoMerge branches 'for-next/scmi/updates' and 'for-next/ffa/updates' of ssh://gitolite...
Sudeep Holla [Sun, 23 Feb 2025 21:50:01 +0000 (21:50 +0000)]
Merge branches 'for-next/scmi/updates' and 'for-next/ffa/updates' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into for-linux-next

* 'for-next/scmi/updates' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_scmi: Emit modalias for SCMI devices
  firmware: arm_scmi: Add name and protocol id attributes
  firmware: arm_scmi: Relax duplicate name constraint across protocol ids

* 'for-next/ffa/updates' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: (22 commits)
  firmware: arm_ffa: Skip the first/partition ID when parsing vCPU list
  firmware: arm_ffa: Explicitly cast return value from NOTIFICATION_INFO_GET
  firmware: arm_ffa: Explicitly cast return value from FFA_VERSION before comparison
  firmware: arm_ffa: Handle ffa_notification_get correctly at virtual FF-A instance
  firmware: arm_ffa: Allow multiple UUIDs per partition to register SRI callback
  firmware: arm_ffa: Add support for handling framework notifications
  firmware: arm_ffa: Add support for {un,}registration of framework notifications
  firmware: arm_ffa: Stash ffa_device instead of notify_type in notifier_cb_info
  firmware: arm_ffa: Refactoring to prepare for framework notification support
  firmware: arm_ffa: Remove unnecessary declaration of ffa_partitions_cleanup()
  firmware: arm_ffa: Reject higher major version as incompatible
  firmware: arm_ffa: Upgrade FF-A version to v1.2 in the driver
  firmware: arm_ffa: Add support for passing UUID in FFA_MSG_SEND2
  firmware: arm_ffa: Helper to check if a partition can receive REQUEST2 messages
  firmware: arm_ffa: Unregister the FF-A devices when cleaning up the partitions
  firmware: arm_ffa: Handle the presence of host partition in the partition info
  firmware: arm_ffa: Refactor addition of partition information into XArray
  firmware: arm_ffa: Fix big-endian support in __ffa_partition_info_regs_get()
  firmware: arm_ffa: Fix big-endian support in __ffa_partition_info_get()
  firmware: arm_ffa: Align sync_send_receive{,2} function prototypes
  ...

9 months agofirmware: arm_ffa: Skip the first/partition ID when parsing vCPU list
Sudeep Holla [Sun, 23 Feb 2025 21:39:09 +0000 (21:39 +0000)]
firmware: arm_ffa: Skip the first/partition ID when parsing vCPU list

The FF-A notification id list received in response to the call
FFA_NOTIFICATION_INFO_GET is encoded as: partition ID followed by 0 or
more vCPU ID. The count includes all of them.

Fix the issue by skipping the first/partition ID so that only the list
of vCPU IDs are processed correctly for a given partition ID. The first/
partition ID is read before the start of the loop.

Fixes: 3522be48d82b ("firmware: arm_ffa: Implement the NOTIFICATION_INFO_GET interface")
Reported-by: Andrei Homescu <ahomescu@google.com>
Message-Id: <20250223213909.1197786-1-sudeep.holla@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
9 months agoLinux 6.14-rc4 linux-next/stable v6.14-rc4
Linus Torvalds [Sun, 23 Feb 2025 20:32:57 +0000 (12:32 -0800)]
Linux 6.14-rc4

9 months agoMerge tag 'i2c-for-6.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
Linus Torvalds [Sun, 23 Feb 2025 18:37:18 +0000 (10:37 -0800)]
Merge tag 'i2c-for-6.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

Pull i2c fix from Wolfram Sang:
 "Revert one cleanup which turned out to eat too much stack space"

* tag 'i2c-for-6.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: core: Allocate temporary client dynamically

9 months agoMerge tag 'edac_urgent_for_v6.14_rc4' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 23 Feb 2025 17:50:57 +0000 (09:50 -0800)]
Merge tag 'edac_urgent_for_v6.14_rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras

Pull EDAC fix from Borislav Petkov:

 - Have qcom_edac use the correct interrupt enable register to configure
   the RAS interrupt lines

* tag 'edac_urgent_for_v6.14_rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
  EDAC/qcom: Correct interrupt enable register configuration

9 months agoMerge branch 'sunxi/clk-for-6.15' into sunxi/for-next
Chen-Yu Tsai [Sun, 23 Feb 2025 16:38:49 +0000 (00:38 +0800)]
Merge branch 'sunxi/clk-for-6.15' into sunxi/for-next

9 months agoefivarfs: Defer PM notifier registration until .fill_super
Ard Biesheuvel [Sun, 23 Feb 2025 15:48:54 +0000 (16:48 +0100)]
efivarfs: Defer PM notifier registration until .fill_super

syzbot reports an issue that turns out to be caused by the fact that the
efivarfs PM notifier may be invoked before the efivarfs_fs_info::sb
field is populated, resulting in a NULL deference.

So defer the registration until efivarfs_fill_super() is invoked.

Reported-by: syzbot+00d13e505ef530a45100@syzkaller.appspotmail.com
Tested-by: syzbot+00d13e505ef530a45100@syzkaller.appspotmail.com
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
9 months agoefi/cper: Fix cper_arm_ctx_info alignment
Patrick Rudolph [Fri, 21 Feb 2025 11:15:16 +0000 (12:15 +0100)]
efi/cper: Fix cper_arm_ctx_info alignment

According to the UEFI Common Platform Error Record appendix, the
processor context information structure is a variable length structure,
but "is padded with zeros if the size is not a multiple of 16 bytes".

Currently this isn't honoured, causing all but the first structure to
be garbage when printed. Thus align the size to be a multiple of 16.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
9 months agoefi/cper: Fix cper_ia_proc_ctx alignment
Patrick Rudolph [Fri, 21 Feb 2025 08:12:42 +0000 (09:12 +0100)]
efi/cper: Fix cper_ia_proc_ctx alignment

According to the UEFI Common Platform Error Record appendix, the
IA32/X64 Processor Context Information Structure is a variable length
structure, but "is padded with zeros if the size is not a multiple
of 16 bytes".

Currently this isn't honoured, causing all but the first structure to
be garbage when printed. Thus align the size to be a multiple of 16.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
9 months agoclk: sunxi-ng: h616: Reparent GPU clock during frequency changes
Philippe Simons [Thu, 20 Feb 2025 11:38:08 +0000 (12:38 +0100)]
clk: sunxi-ng: h616: Reparent GPU clock during frequency changes

The H616 manual does not state that the GPU PLL supports
dynamic frequency configuration, so we must take extra care when changing
the frequency. Currently any attempt to do device DVFS on the GPU lead
to panfrost various ooops, and GPU hangs.

The manual describes the algorithm for changing the PLL
frequency, which the CPU PLL notifier code already support, so we reuse
that to reparent the GPU clock to GPU1 clock during frequency
changes.

Signed-off-by: Philippe Simons <simons.philippe@gmail.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://patch.msgid.link/20250220113808.1122414-2-simons.philippe@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
9 months agoMerge branch 'next/dt64' into for-next
Krzysztof Kozlowski [Sun, 23 Feb 2025 12:43:29 +0000 (13:43 +0100)]
Merge branch 'next/dt64' into for-next

9 months agoarm64: dts: exynosautov920: add ufs phy for ExynosAutov920 SoC
Sowon Na [Wed, 19 Feb 2025 07:37:28 +0000 (16:37 +0900)]
arm64: dts: exynosautov920: add ufs phy for ExynosAutov920 SoC

Add UFS Phy for ExynosAutov920

Like ExynosAutov9, this also uses fixed-rate clock nodes until clock driver
has been supported. The clock nodes are initialized on bootloader stage
thus we don't need to control them so far.

Changes from v4:
- Place entry in correct order instead of appending to the end.

Signed-off-by: Sowon Na <sowon.na@samsung.com>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Link: https://lore.kernel.org/r/20250219073731.853120-1-sowon.na@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
9 months agoMerge branch 'imx/dt64' into for-next
Shawn Guo [Sun, 23 Feb 2025 12:23:24 +0000 (20:23 +0800)]
Merge branch 'imx/dt64' into for-next

9 months agoMerge branch 'imx/dt' into for-next
Shawn Guo [Sun, 23 Feb 2025 12:23:23 +0000 (20:23 +0800)]
Merge branch 'imx/dt' into for-next

9 months agoMerge branch 'imx/bindings' into for-next
Shawn Guo [Sun, 23 Feb 2025 12:23:23 +0000 (20:23 +0800)]
Merge branch 'imx/bindings' into for-next