(please be noted we found the issue still reproducible on latest mainline
and linux-next/master, also on fix commit 6a9e9cea4c and there are similar
Call Trace and context, so report this though the commit is quite old)
Greeting,
FYI, we noticed the following commit (built with gcc-11):
commit: 2638eb8b50cfc16240e0bb080b9afbf541a9b39d ("net: ipv4: provide __rcu annotation for ifa_list")
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
in testcase: boot
on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
+------------------------------------------------------------------+------------+------------+
| | cb8f1478ce | 2638eb8b50 |
+------------------------------------------------------------------+------------+------------+
| WARNING:suspicious_RCU_usage | 0 | 6 |
| drivers/net/plip/plip.c:#suspicious_rcu_dereference_check()usage | 0 | 6 |
+------------------------------------------------------------------+------------+------------+
If you fix the issue, kindly add following tag
Reported-by: kernel test robot <[email protected]>
[ 17.432553][ T1] WARNING: suspicious RCU usage
[ 17.433096][ T1] 5.2.0-rc2-00605-g2638eb8b50cfc #1 Not tainted
[ 17.433772][ T1] -----------------------------
[ 17.434315][ T1] drivers/net/plip/plip.c:1110 suspicious rcu_dereference_check() usage!
[ 17.435431][ T1]
[ 17.435431][ T1] other info that might help us debug this:
[ 17.435431][ T1]
[ 17.436597][ T1]
[ 17.436597][ T1] rcu_scheduler_active = 2, debug_locks = 1
[ 17.437477][ T1] 1 lock held by swapper/0/1:
[ 17.438019][ T1] #0: (____ptrval____) (rtnl_mutex){+.+.}, at: ic_open_devs (net/ipv4/ipconfig.c:222)
[ 17.438986][ T1]
[ 17.438986][ T1] stack backtrace:
[ 17.439702][ T1] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.2.0-rc2-00605-g2638eb8b50cfc #1
[ 17.440768][ T1] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.0-debian-1.16.0-4 04/01/2014
[ 17.441885][ T1] Call Trace:
[ 17.442250][ T1] dump_stack (lib/dump_stack.c:115)
[ 17.442701][ T1] plip_open (drivers/net/plip/plip.c:1110 (discriminator 9))
[ 17.443209][ T1] __dev_open (net/core/dev.c:1413)
[ 17.443685][ T1] __dev_change_flags (net/core/dev.c:7554)
[ 17.444253][ T1] dev_change_flags (net/core/dev.c:7625)
[ 17.444809][ T1] ic_open_devs (net/ipv4/ipconfig.c:243)
[ 17.445308][ T1] ip_auto_config (net/ipv4/ipconfig.c:1472)
[ 17.445820][ T1] ? root_nfs_parse_addr (net/ipv4/ipconfig.c:1435)
[ 17.446381][ T1] do_one_initcall (init/main.c:915)
[ 17.446896][ T1] do_initcall_level (init/main.c:982)
[ 17.447470][ T1] kernel_init_freeable (init/main.c:990 init/main.c:1009 init/main.c:1169)
[ 17.448055][ T1] ? rest_init (init/main.c:1084)
[ 17.448549][ T1] kernel_init (init/main.c:1089)
[ 17.449001][ T1] ? rest_init (init/main.c:1084)
[ 17.449472][ T1] ret_from_fork (arch/x86/entry/entry_64.S:358)
[ 17.464713][ T1] Sending DHCP requests .
[ 17.518062][ T12] plip0: transmit timeout(1,d8)
[ 19.498527][ T172] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[ 19.499947][ T172] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 19.801409][ T1] ., OK
[ 20.547499][ T1] IP-Config: Got DHCP answer from 10.0.2.2, my address is 10.0.2.15
[ 20.548418][ T1] IP-Config: Complete:
[ 20.548851][ T1] device=eth0, hwaddr=52:54:00:12:34:56, ipaddr=10.0.2.15, mask=255.255.255.0, gw=10.0.2.2
[ 20.549948][ T1] host=vm-meta-288, domain=, nis-domain=(none)
[ 20.550650][ T1] bootserver=10.0.2.2, rootserver=10.0.2.2, rootpath=
[ 20.550651][ T1] nameserver0=10.0.2.3
[ 20.557919][ T1] Freeing unused kernel image memory: 3472K
[ 20.571470][ T1] Write protecting the kernel read-only data: 18432k
[ 20.573644][ T1] Freeing unused kernel image memory: 2016K
[ 20.574730][ T1] Freeing unused kernel image memory: 360K
[ 20.575917][ T1] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[ 20.576757][ T1] x86/mm: Checking user space page tables
[ 20.577486][ T1] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[ 20.578303][ T1] Run /init as init process
[ 20.592303][ T1] systemd[1]: RTC configured in localtime, applying delta of 0 minutes to system time.
[ 20.594574][ T1] LoadPin: mnt_sb lacks block device, treating as: writable
[ 20.595455][ T1] LoadPin: enforcement can be disabled.
[ 20.596104][ T1] LoadPin: kernel-module pinned obj="/lib/modules/5.2.0-rc2-00605-g2638eb8b50cfc/kernel/fs/autofs/autofs4.ko" pid=1 cmdline="/init"
[ 20.599065][ T1] systemd[1]: Inserted module 'autofs4'
[ 20.606700][ T1] cgroup2: Unknown parameter 'memory_recursiveprot'
Welcome to Debian GNU/Linux 11 (bullseye)!
[ 20.795840][ T1] random: systemd: uninitialized urandom read (16 bytes read)
[ OK ] Created slice system-getty.slice.
[ 20.800706][ T1] random: systemd: uninitialized urandom read (16 bytes read)
[ OK ] Created slice system-modprobe.slice.
[ 20.803151][ T1] random: systemd: uninitialized urandom read (16 bytes read)
[ OK ] Created slice User and Session Slice.
[ OK ] Reached target Local Encrypted Volumes.
[ OK ] Reached target Paths.
[ OK ] Reached target Slices.
[ OK ] Reached target Swap.
[ OK ] Listening on RPCbind Server Activation Socket.
[ OK ] Listening on Syslog Socket.
[ OK ] Listening on initctl Compatibility Named Pipe.
[ OK ] Listening on Journal Audit Socket.
[ OK ] Listening on Journal Socket (/dev/log).
[ OK ] Listening on Journal Socket.
[ OK ] Listening on udev Control Socket.
[ OK ] Listening on udev Kernel Socket.
Mounting Huge Pages File System...
Mounting POSIX Message Queue File System...
Mounting RPC Pipe File System...
Mounting Kernel Debug File System...
Mounting Kernel Trace File System...
Starting Load Kernel Module configfs...
Starting Load Kernel Module drm...
Starting Load Kernel Module fuse...
[ 20.886032][ C1] random: fast init done
Starting Journal Service...
Starting Load Kernel Modules...
Starting Remount Root and Kernel File Systems...
Starting Coldplug All udev Devices...
[ OK ] Mounted Huge Pages File System.
[ OK ] Mounted POSIX Message Queue File System.
[ OK ] Finished Load Kernel Module configfs.
[FAILED] Failed to mount RPC Pipe File System.
See 'systemctl status run-rpc_pipefs.mount' for details.
[ OK ] Mounted Kernel Debug File System.
[ OK ] Mounted Kernel Trace File System.
[ OK ] Finished Load Kernel Module drm.
[ OK ] Finished Load Kernel Module fuse.
[ OK ] Finished Load Kernel Modules.
[ OK ] Finished Remount Root and Kernel File Systems.
To reproduce:
# build kernel
cd linux
cp config-5.2.0-rc2-00605-g2638eb8b50cfc .config
make HOSTCC=gcc-11 CC=gcc-11 ARCH=x86_64 olddefconfig prepare modules_prepare bzImage modules
make HOSTCC=gcc-11 CC=gcc-11 ARCH=x86_64 INSTALL_MOD_PATH=<mod-install-dir> modules_install
cd <mod-install-dir>
find lib/ | cpio -o -H newc --quiet | gzip > modules.cgz
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> -m modules.cgz job-script # job-script is attached in this email
# if come across any failure that blocks the test,
# please remove ~/.lkp and /lkp dir to run from a clean state.
--
0-DAY CI Kernel Test Service
https://01.org/lkp