Fixed
Created: Feb 16, 2015
Updated: Sep 8, 2018
Resolved Date: Mar 20, 2015
Found In Version: 7.0
Fix Version: 7.0.0.4
Severity: Severe
Applicable for: Wind River Linux 7
Component/s: Kernel
There is call trace "filescontrol.c:87 suspicious rcu_dereference_check() usage!" when run lxc test with kernel option CONFIG_PROVE_RCU enabled as follows:
===============================
[ INFO: suspicious RCU usage. ]
3.14.23-WR7.0.0.0_standard #1 Not tainted
-------------------------------
/intel-x86-64/bitbake_build/tmp/work/intel_x86_64-wrs-linux/linux-windriver/3.14-r0/linux/fs/filescontrol.c:87 suspicious rcu_dereference_check() usage!
other info that might help us debug this:
rcu_scheduler_active = 1, debug_locks = 0
4 locks held by lxc-start/1307:
#0: (sb_writers#7){.+.+.+}, at: [<ffffffff811c65fb>] vfs_write+0x19b/0x1b0
#1: (cgroup_mutex){+.+.+.}, at: [<ffffffff810ea37b>] cgroup_lock_live_group+0x1b/0x40
#2: (&sig->group_rwsem){++++++}, at: [<ffffffff810ee512>] attach_task_by_pid+0xd2/0x450
#3: (&(&p->alloc_lock)->rlock){+.+...}, at: [<ffffffff8122e689>] files_cgroup_can_attach+0x49/0x100
stack backtrace:
CPU: 14 PID: 1307 Comm: lxc-start Not tainted 3.14.23-WR7.0.0.0_standard #1
Hardware name: Intel Corporation S2600CP/S2600CP, BIOS RMLSDP.86I.R4.26.D674.1304190022 04/19/2013
0000000000000001 ffff88100790fd18 ffffffff81ac4710 ffff88100974a170
ffff88100790fd48 ffffffff810a8a17 ffff880804e2e5d0 ffff880804e2e5c0
0000000000000000 ffff88100790fdf8 ffff88100790fd68 ffffffff8122e2bf
Call Trace:
[<ffffffff81ac4710>] dump_stack+0x4e/0x7a
[<ffffffff810a8a17>] lockdep_rcu_suspicious+0xe7/0x120
[<ffffffff8122e2bf>] files_cgroup_count_fds+0x9f/0xd0
[<ffffffff8122e695>] files_cgroup_can_attach+0x55/0x100
[<ffffffff810eddc3>] cgroup_attach_task+0x283/0x820
[<ffffffff810edc00>] ? cgroup_attach_task+0xc0/0x820
[<ffffffff810ee748>] attach_task_by_pid+0x308/0x450
[<ffffffff810ee547>] ? attach_task_by_pid+0x107/0x450
[<ffffffff810ee8a6>] cgroup_tasks_write+0x16/0x20
[<ffffffff810eaf78>] cgroup_file_write+0x128/0x1c0
[<ffffffff811c6516>] vfs_write+0xb6/0x1b0
[<ffffffff811c6e6d>] SyS_write+0x4d/0xc0
[<ffffffff81ad93d6>] system_call_fastpath+0x1a/0x1f
1. clone wrlinux-testing layer
git clone git://ala-git/projects/wassp-repos/testcases/wrlinux wrlinux-testing -b WRLINUX_7_0_HEAD
2. configure and build project
configure --enable-board=intel-x86-64 --enable-kernel=standard --enable-rootfs=glibc_std --enable-test --enable-jobs=8 --enable-parallel-pkgbuilds=8 --with-layer=<path to wrlinux-testing>/wr-testing/ltp,<path to wrlinux-testing>/wr-testing/kts --with-template=feature/kts-standard
3. boot taget canoe_pass (barcode 20996) and run lxc test case
root@Remley-EP-Ivy-Refresh-4:/opt/wr-test# ./main_test.sh -s lxc