2021-03-17 14:10:16

by kernel test robot

[permalink] [raw]
Subject: [mm] bd0ca82882: WARNING:suspicious_RCU_usage



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 <[email protected]>


[ 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 <bzImage> job-script # job-script is attached in this email



---
0DAY/LKP+ Test Infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/[email protected] Intel Corporation

Thanks,
Oliver Sang


Attachments:
(No filename) (8.08 kB)
config-5.12.0-rc3-00156-gbd0ca8288263 (216.68 kB)
job-script (5.03 kB)
dmesg.xz (30.30 kB)
kernel-selftests (59.12 kB)
Download all attachments