]>
Gentwo Git Trees - linux/.git/log
Stephen Rothwell [Tue, 25 Feb 2025 00:08:17 +0000 (11:08 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
Stephen Rothwell [Tue, 25 Feb 2025 00:08:15 +0000 (11:08 +1100)]
Merge branch 'for-next/pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git
Stephen Rothwell [Tue, 25 Feb 2025 00:08:14 +0000 (11:08 +1100)]
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git
Stephen Rothwell [Tue, 25 Feb 2025 00:08:13 +0000 (11:08 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:43:27 +0000 (10:43 +1100)]
Merge branch 'fs-next' of linux-next
Stephen Rothwell [Mon, 24 Feb 2025 23:39:21 +0000 (10:39 +1100)]
Merge branch 'xtensa-for-next' of git://github.com/jcmvbkbc/linux-xtensa.git
Stephen Rothwell [Mon, 24 Feb 2025 23:39:19 +0000 (10:39 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:39:17 +0000 (10:39 +1100)]
Merge branch 'riscv-dt-for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:39:16 +0000 (10:39 +1100)]
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:39:15 +0000 (10:39 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:39:14 +0000 (10:39 +1100)]
Merge branch 'mips-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:39:13 +0000 (10:39 +1100)]
Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze.git
Stephen Rothwell [Mon, 24 Feb 2025 23:39:10 +0000 (10:39 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu.git
Stephen Rothwell [Mon, 24 Feb 2025 23:39:09 +0000 (10:39 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git
Stephen Rothwell [Mon, 24 Feb 2025 23:39:08 +0000 (10:39 +1100)]
Merge branch 'linux-next' of git://github.com/c-sky/csky-linux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:39:04 +0000 (10:39 +1100)]
Merge branch 'renesas-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git
Stephen Rothwell [Mon, 24 Feb 2025 23:39:03 +0000 (10:39 +1100)]
Merge branch 'for-next' of git://github.com/Xilinx/linux-xlnx.git
Stephen Rothwell [Mon, 24 Feb 2025 23:39:02 +0000 (10:39 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 23:39:01 +0000 (10:39 +1100)]
Merge branch 'next' of https://git.linaro.org/people/jens.wiklander/linux-tee.git
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
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
Stephen Rothwell [Mon, 24 Feb 2025 23:38:58 +0000 (10:38 +1100)]
Merge branch 'for-next' of https://github.com/spacemit-com/linux
Stephen Rothwell [Mon, 24 Feb 2025 23:38:57 +0000 (10:38 +1100)]
Merge branch 'for-next' of https://github.com/sophgo/linux.git
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
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
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
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
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
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
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
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
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
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
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
Stephen Rothwell [Mon, 24 Feb 2025 23:38:44 +0000 (10:38 +1100)]
Merge branch 'next' of https://github.com/Broadcom/stblinux.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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Stephen Rothwell [Mon, 24 Feb 2025 22:45:59 +0000 (09:45 +1100)]
Merge branch 'fs-current' of linux-next
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
Stephen Rothwell [Mon, 24 Feb 2025 22:23:52 +0000 (09:23 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:52 +0000 (09:23 +1100)]
Merge branch 'vfs.all' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:50 +0000 (09:23 +1100)]
Merge branch '9p-next' of git://github.com/martinetd/linux
Stephen Rothwell [Mon, 24 Feb 2025 22:23:48 +0000 (09:23 +1100)]
Merge branch 'master' of https://github.com/Paragon-Software-Group/linux-ntfs3.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:47 +0000 (09:23 +1100)]
Merge branch 'nfsd-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
Stephen Rothwell [Mon, 24 Feb 2025 22:23:46 +0000 (09:23 +1100)]
Merge branch 'linux-next' of git://git.linux-nfs.org/projects/anna/linux-nfs.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:45 +0000 (09:23 +1100)]
Merge branch 'ksmbd-for-next' of https://github.com/smfrench/smb3-kernel.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:44 +0000 (09:23 +1100)]
Merge branch 'jfs-next' of git://github.com/kleikamp/linux-shaggy.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:43 +0000 (09:23 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:41 +0000 (09:23 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:40 +0000 (09:23 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/fs/fsverity/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:40 +0000 (09:23 +1100)]
Merge branch 'dev' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:39 +0000 (09:23 +1100)]
Merge branch 'dev' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:38 +0000 (09:23 +1100)]
Merge branch 'for_next' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:37 +0000 (09:23 +1100)]
Merge branch 'dev' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:35 +0000 (09:23 +1100)]
Merge branch 'dev' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:34 +0000 (09:23 +1100)]
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:33 +0000 (09:23 +1100)]
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:29 +0000 (09:23 +1100)]
Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:28 +0000 (09:23 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:27 +0000 (09:23 +1100)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/fs/fscrypt/linux.git
Stephen Rothwell [Mon, 24 Feb 2025 22:23:27 +0000 (09:23 +1100)]
Merge branch 'for-next' of git://evilpiepirate.org/bcachefs.git
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
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
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>
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>
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>
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>
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