Skip to contentSkip to conversation

suspicious RCU usage in cgroup

DISCUSSION Dave Jones 2 participants 4 messages Oct 5, 2012 – Oct 17, 2012

lore
Share & tools
lore

Dave Jones

author
#0 lore raw

On boot in Linus' current tree..

===============================
[ INFO: suspicious RCU usage. ]
3.6.0+ #22 Not tainted
-------------------------------
include/linux/cgroup.h:566 suspicious rcu_dereference_check() usage!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 1
2 locks on stack by kdevtmpfs/59:
#0: blocked: (sb_writers){.+.+.+}, instance: ffff88014595a9a0, at: [<ffffffff81207bc4>] mnt_want_write+0x24/0x50
#1: held: (&sb->s_type->i_mutex_key#3/1){+.+.+.}, instance: ffff880145b1f5c8, at: [<ffffffff811f26d4>] kern_path_create+0x84/0x170

stack backtrace:
Pid: 59, comm: kdevtmpfs Not tainted 3.6.0+ #22
Call Trace:
 [<ffffffff810df1f2>] lockdep_rcu_suspicious+0xe2/0x130
 [<ffffffff81317cad>] devcgroup_inode_mknod+0x19d/0x240
 [<ffffffff812f54d8>] ? security_capable+0x18/0x20
 [<ffffffff8107e214>] ? ns_capable+0x44/0x80
 [<ffffffff811f3b0e>] vfs_mknod+0x7e/0x140
 [<ffffffff81452967>] handle_create.isra.2+0x77/0x210
 [<ffffffff810ddd6c>] ? lock_release_holdtime.part.26+0xcc/0x140
 [<ffffffff810afbf1>] ? get_parent_ip+0x11/0x50
 [<ffffffff816bacd9>] ? sub_preempt_count+0x79/0xd0
 [<ffffffff81452c47>] devtmpfsd+0x147/0x170
 [<ffffffff81452b00>] ? handle_create.isra.2+0x210/0x210
 [<ffffffff8109bf8d>] kthread+0xed/0x100
 [<ffffffff816bacd9>] ? sub_preempt_count+0x79/0xd0
 [<ffffffff816c04a4>] kernel_thread_helper+0x4/0x10
 [<ffffffff810a9fdc>] ? finish_task_switch+0x7c/0x120
 [<ffffffff816b62db>] ? _raw_spin_unlock_irq+0x4b/0x80
 [<ffffffff816b6d37>] ? retint_restore_args+0x13/0x13
 [<ffffffff8109bea0>] ? kthread_create_on_node+0x160/0x160
 [<ffffffff816c04a0>] ? gs_change+0x13/0x13
#1 lore raw

Hi Dave,

Quoted 31 lines · Dave Jones

On boot in Linus' current tree..

===============================
[ INFO: suspicious RCU usage. ]
3.6.0+ #22 Not tainted
-------------------------------
include/linux/cgroup.h:566 suspicious rcu_dereference_check() usage!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 1
2 locks on stack by kdevtmpfs/59:
#0: blocked: (sb_writers){.+.+.+}, instance: ffff88014595a9a0, at: [<ffffffff81207bc4>] mnt_want_write+0x24/0x50
#1: held: (&sb->s_type->i_mutex_key#3/1){+.+.+.}, instance: ffff880145b1f5c8, at: [<ffffffff811f26d4>] kern_path_create+0x84/0x170

stack backtrace:
Pid: 59, comm: kdevtmpfs Not tainted 3.6.0+ #22
Call Trace:
 [<ffffffff810df1f2>] lockdep_rcu_suspicious+0xe2/0x130
 [<ffffffff81317cad>] devcgroup_inode_mknod+0x19d/0x240
 [<ffffffff812f54d8>] ? security_capable+0x18/0x20
 [<ffffffff8107e214>] ? ns_capable+0x44/0x80
 [<ffffffff811f3b0e>] vfs_mknod+0x7e/0x140
 [<ffffffff81452967>] handle_create.isra.2+0x77/0x210
 [<ffffffff810ddd6c>] ? lock_release_holdtime.part.26+0xcc/0x140
 [<ffffffff810afbf1>] ? get_parent_ip+0x11/0x50
 [<ffffffff816bacd9>] ? sub_preempt_count+0x79/0xd0
 [<ffffffff81452c47>] devtmpfsd+0x147/0x170
 [<ffffffff81452b00>] ? handle_create.isra.2+0x210/0x210
Quoted 8 lines
 [<ffffffff8109bf8d>] kthread+0xed/0x100
 [<ffffffff816bacd9>] ? sub_preempt_count+0x79/0xd0
 [<ffffffff816c04a4>] kernel_thread_helper+0x4/0x10
 [<ffffffff810a9fdc>] ? finish_task_switch+0x7c/0x120
 [<ffffffff816b62db>] ? _raw_spin_unlock_irq+0x4b/0x80
 [<ffffffff816b6d37>] ? retint_restore_args+0x13/0x13
 [<ffffffff8109bea0>] ? kthread_create_on_node+0x160/0x160
 [<ffffffff816c04a0>] ? gs_change+0x13/0x13

"[PATCH] cgroup: fix invalid rcu dereference" which is being routed thru akpm's tree should fix this.

see https://patchwork.kernel.org/patch/1456571/

Signature · 1 line
Aristeu
author
#2 lore raw
Quoted 40 lines · Aristeu Rozanski

Hi Dave,

Quoted 29 lines · Dave Jones

On boot in Linus' current tree..

===============================
[ INFO: suspicious RCU usage. ]
3.6.0+ #22 Not tainted
-------------------------------
include/linux/cgroup.h:566 suspicious rcu_dereference_check() usage!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 1
2 locks on stack by kdevtmpfs/59:
#0: blocked: (sb_writers){.+.+.+}, instance: ffff88014595a9a0, at: [<ffffffff81207bc4>] mnt_want_write+0x24/0x50
#1: held: (&sb->s_type->i_mutex_key#3/1){+.+.+.}, instance: ffff880145b1f5c8, at: [<ffffffff811f26d4>] kern_path_create+0x84/0x170

stack backtrace:
Pid: 59, comm: kdevtmpfs Not tainted 3.6.0+ #22
Call Trace:
 [<ffffffff810df1f2>] lockdep_rcu_suspicious+0xe2/0x130
 [<ffffffff81317cad>] devcgroup_inode_mknod+0x19d/0x240
 [<ffffffff812f54d8>] ? security_capable+0x18/0x20
 [<ffffffff8107e214>] ? ns_capable+0x44/0x80
 [<ffffffff811f3b0e>] vfs_mknod+0x7e/0x140
 [<ffffffff81452967>] handle_create.isra.2+0x77/0x210
 [<ffffffff810ddd6c>] ? lock_release_holdtime.part.26+0xcc/0x140
 [<ffffffff810afbf1>] ? get_parent_ip+0x11/0x50
 [<ffffffff816bacd9>] ? sub_preempt_count+0x79/0xd0
 [<ffffffff81452c47>] devtmpfsd+0x147/0x170
 [<ffffffff81452b00>] ? handle_create.isra.2+0x210/0x210
Quoted 8 lines
 [<ffffffff8109bf8d>] kthread+0xed/0x100
 [<ffffffff816bacd9>] ? sub_preempt_count+0x79/0xd0
 [<ffffffff816c04a4>] kernel_thread_helper+0x4/0x10
 [<ffffffff810a9fdc>] ? finish_task_switch+0x7c/0x120
 [<ffffffff816b62db>] ? _raw_spin_unlock_irq+0x4b/0x80
 [<ffffffff816b6d37>] ? retint_restore_args+0x13/0x13
 [<ffffffff8109bea0>] ? kthread_create_on_node+0x160/0x160
 [<ffffffff816c04a0>] ? gs_change+0x13/0x13
Quoted 4 lines

"[PATCH] cgroup: fix invalid rcu dereference" which is being routed thru akpm's tree should fix this.

see https://patchwork.kernel.org/patch/1456571/

What's happening with this ?

Dave

#3 lore raw
Quoted 41 lines · Dave Jones
Quoted 40 lines · Aristeu Rozanski

Hi Dave,

Quoted 37 lines · Dave Jones

On boot in Linus' current tree..

===============================
[ INFO: suspicious RCU usage. ]
3.6.0+ #22 Not tainted
-------------------------------
include/linux/cgroup.h:566 suspicious rcu_dereference_check() usage!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 1
2 locks on stack by kdevtmpfs/59:
#0: blocked: (sb_writers){.+.+.+}, instance: ffff88014595a9a0, at: [<ffffffff81207bc4>] mnt_want_write+0x24/0x50
#1: held: (&sb->s_type->i_mutex_key#3/1){+.+.+.}, instance: ffff880145b1f5c8, at: [<ffffffff811f26d4>] kern_path_create+0x84/0x170

stack backtrace:
Pid: 59, comm: kdevtmpfs Not tainted 3.6.0+ #22
Call Trace:
 [<ffffffff810df1f2>] lockdep_rcu_suspicious+0xe2/0x130
 [<ffffffff81317cad>] devcgroup_inode_mknod+0x19d/0x240
 [<ffffffff812f54d8>] ? security_capable+0x18/0x20
 [<ffffffff8107e214>] ? ns_capable+0x44/0x80
 [<ffffffff811f3b0e>] vfs_mknod+0x7e/0x140
 [<ffffffff81452967>] handle_create.isra.2+0x77/0x210
 [<ffffffff810ddd6c>] ? lock_release_holdtime.part.26+0xcc/0x140
 [<ffffffff810afbf1>] ? get_parent_ip+0x11/0x50
 [<ffffffff816bacd9>] ? sub_preempt_count+0x79/0xd0
 [<ffffffff81452c47>] devtmpfsd+0x147/0x170
 [<ffffffff81452b00>] ? handle_create.isra.2+0x210/0x210
 [<ffffffff8109bf8d>] kthread+0xed/0x100
 [<ffffffff816bacd9>] ? sub_preempt_count+0x79/0xd0
 [<ffffffff816c04a4>] kernel_thread_helper+0x4/0x10
 [<ffffffff810a9fdc>] ? finish_task_switch+0x7c/0x120
 [<ffffffff816b62db>] ? _raw_spin_unlock_irq+0x4b/0x80
 [<ffffffff816b6d37>] ? retint_restore_args+0x13/0x13
 [<ffffffff8109bea0>] ? kthread_create_on_node+0x160/0x160
 [<ffffffff816c04a0>] ? gs_change+0x13/0x13
Quoted 6 lines
Quoted 4 lines

"[PATCH] cgroup: fix invalid rcu dereference" which is being routed thru akpm's tree should fix this.

see https://patchwork.kernel.org/patch/1456571/

What's happening with this ?

also found out that the device_cgroup patches that went in are v1, not the v2. I'm preparing the refreshed patches to apply on top and will submit along with the rcu fix to make sure they get in at the same time

Signature · 1 line
Aristeu