Greeting, FYI, we noticed the following commit (built with gcc-9): commit: bd0ca828826311bd1e639046fa8a3edabb15ec3a ("mm: vmscan: add shrinker_info_protected() helper") https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master in testcase: kernel-selftests version: kernel-selftests-x86_64-b553cffa-1_20210122 with following parameters: group: x86 test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel. test-url: https://www.kernel.org/doc/Documentation/kselftest.txt on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 8G caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace): +----------------------------------------------------------+------------+------------+ | | 5840442166 | bd0ca82882 | +----------------------------------------------------------+------------+------------+ | boot_failures | 0 | 6 | | WARNING:suspicious_RCU_usage | 0 | 6 | | mm/vmscan.c:#suspicious_rcu_dereference_protected()usage | 0 | 6 | +----------------------------------------------------------+------------+------------+ If you fix the issue, kindly add following tag Reported-by: kernel test robot [ 41.909461] WARNING: suspicious RCU usage [ 41.910161] 5.12.0-rc3-00156-gbd0ca8288263 #1 Not tainted [ 41.927440] ----------------------------- [ 41.928269] mm/vmscan.c:198 suspicious rcu_dereference_protected() usage! [ 41.929734] [ 41.929734] other info that might help us debug this: [ 41.929734] [ 41.931231] [ 41.931231] rcu_scheduler_active = 2, debug_locks = 1 [ OK ] Mounted Kernel Debug File System. [ 41.958695] 2 locks held by kworker/0:2/104: [ 41.959558] #0: ffff8a0010049f38 ((wq_completion)cgroup_destroy){+.+.}-{0:0}, at: process_one_work (kbuild/src/consumer/arch/x86/include/asm/atomic64_64.h:34 kbuild/src/consumer/include/asm-generic/atomic-instrumented.h:856 kbuild/src/consumer/include/asm-generic/atomic-long.h:41 kbuild/src/consumer/kernel/workqueue.c:616 kbuild/src/consumer/kernel/workqueue.c:643 kbuild/src/consumer/kernel/workqueue.c:2246) [ 41.961217] #1: ffffada9801d7e58 ((work_completion)(&(&css->destroy_rwork)->work)){+.+.}-{0:0}, at: process_one_work (kbuild/src/consumer/arch/x86/include/asm/atomic64_64.h:34 kbuild/src/consumer/include/asm-generic/atomic-instrumented.h:856 kbuild/src/consumer/include/asm-generic/atomic-long.h:41 kbuild/src/consumer/kernel/workqueue.c:616 kbuild/src/consumer/kernel/workqueue.c:643 kbuild/src/consumer/kernel/workqueue.c:2246) [ 41.963827] [ 41.963827] stack backtrace: [ 41.964749] CPU: 0 PID: 104 Comm: kworker/0:2 Not tainted 5.12.0-rc3-00156-gbd0ca8288263 #1 [ 41.966091] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 [ 41.967631] Workqueue: cgroup_destroy css_free_rwork_fn [ 41.968575] Call Trace: [ 41.969075] dump_stack (kbuild/src/consumer/lib/dump_stack.c:122) [ 41.969669] shrinker_info_protected (kbuild/src/consumer/mm/vmscan.c:198 (discriminator 5)) [ 41.970448] free_shrinker_info (kbuild/src/consumer/include/linux/nodemask.h:271 kbuild/src/consumer/mm/vmscan.c:258) [ 41.971345] mem_cgroup_css_free (kbuild/src/consumer/mm/memcontrol.c:3538 kbuild/src/consumer/mm/memcontrol.c:5198) [ 41.972084] css_free_rwork_fn (kbuild/src/consumer/include/linux/spinlock.h:359 kbuild/src/consumer/kernel/cgroup/cgroup.c:319 kbuild/src/consumer/kernel/cgroup/cgroup.c:4929) [ 41.972890] process_one_work (kbuild/src/consumer/arch/x86/include/asm/jump_label.h:25 kbuild/src/consumer/include/linux/jump_label.h:200 kbuild/src/consumer/include/trace/events/workqueue.h:108 kbuild/src/consumer/kernel/workqueue.c:2280) [ 41.973631] worker_thread (kbuild/src/consumer/include/linux/list.h:282 kbuild/src/consumer/kernel/workqueue.c:2422) [ 41.974299] ? process_one_work (kbuild/src/consumer/kernel/workqueue.c:2364) [ 41.975065] kthread (kbuild/src/consumer/kernel/kthread.c:292) [ 41.975667] ? kthread_park (kbuild/src/consumer/kernel/kthread.c:245) [ 41.976449] ret_from_fork (kbuild/src/consumer/arch/x86/entry/entry_64.S:300) [ OK ] Mounted POSIX Message Queue File System. Starting Create System Users... Starting Load/Save Random Seed... Mounting Kernel Configuration File System... Starting Apply Kernel Variables... [ OK ] Started Create System Users. [ OK ] Started Load/Save Random Seed. [ OK ] Mounted Kernel Configuration File System. [ OK ] Started Apply Kernel Variables. [ OK ] Started Journal Service. Starting Flush Journal to Persistent Storage... Starting Create Static Device Nodes in /dev... [ OK ] Started Flush Journal to Persistent Storage. [ OK ] Started Create Static Device Nodes in /dev. Starting udev Kernel Device Manager... [ OK ] Reached target Local File Systems (Pre). [ OK ] Reached target Local File Systems. Starting Create Volatile Files and Directories... Starting Preprocess NFS configuration... [ OK ] Started udev Kernel Device Manager. [ OK ] Started Preprocess NFS configuration. [ OK ] Reached target NFS client services. [ OK ] Started Create Volatile Files and Directories. Starting Update UTMP about System Boot/Shutdown... Starting Network Time Synchronization... [ 42.559467] random: fast init done Starting RPC bind portmap service... [ OK ] Started Update UTMP about System Boot/Shutdown. [ OK ] Started RPC bind portmap service. [ OK ] Started udev Coldplug all Devices. Starting Helper to synchronize boot up for ifupdown... [ OK ] Reached target RPC Port Mapper. [ OK ] Reached target Remote File Systems (Pre). [ OK ] Reached target Remote File Systems. [ OK ] Started Helper to synchronize boot up for ifupdown. Starting Raise network interfaces... [ OK ] Started Network Time Synchronization. [ OK ] Reached target System Initialization. [ OK ] Started Daily Cleanup of Temporary Directories. [ OK ] Listening on D-Bus System Message Bus Socket. [ OK ] Reached target Sockets. [ OK ] Reached target Basic System. [ OK ] Started D-Bus System Message Bus. Starting LSB: OpenIPMI Driver init script... Starting System Logging Service... Starting Login Service... [ OK ] Started Regular background program processing daemon. [ OK ] Reached target System Time Synchronized. [ OK ] Started Daily rotation of log files. [ OK ] Started Daily apt download activities. [ OK ] Started Daily apt upgrade and clean activities. [ OK ] Reached target Timers. [ OK ] Started System Logging Service. [ OK ] Started Raise network interfaces. [ OK ] Started Login Service. Starting LSB: Load kernel image with kexec... [ OK ] Reached target Network. Starting /etc/rc.local Compatibility... [ 43.268440] IPMI message handler: version 39.2 Starting Permit User Sessions... Starting LKP bootstrap... [ 43.307486] ipmi device interface Starting OpenBSD Secure Shell server... [ 43.247799] rc.local[234]: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/lkp/lkp/src/bin [ OK ] Started Permit User Sessions. [ OK ] Started LSB: Load kernel image with kexec. [ 43.428419] Floppy drive(s): fd0 is 2.88M AMI BIOS [ 43.434953] parport_pc 00:04: reported by Plug and Play ACPI [ 43.436534] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE] To reproduce: # build kernel cd linux cp config-5.12.0-rc3-00156-gbd0ca8288263 .config make HOSTCC=gcc-9 CC=gcc-9 ARCH=x86_64 olddefconfig prepare modules_prepare bzImage git clone https://github.com/intel/lkp-tests.git cd lkp-tests bin/lkp qemu -k job-script # job-script is attached in this email --- 0DAY/LKP+ Test Infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/lkp@lists.01.org Intel Corporation Thanks, Oliver Sang