Konstantin Khlebnikov
cc9f4daa63
cgroup: net_cls: fix false-positive "suspicious RCU usage"
In dev_queue_xmit() net_cls protected with rcu-bh.
[ 270.730026] ===============================
[ 270.730029] [ INFO: suspicious RCU usage. ]
[ 270.730033] 4.2.0-rc3+ #2 Not tainted
[ 270.730036] -------------------------------
[ 270.730040] include/linux/cgroup.h:353 suspicious rcu_dereference_check() usage!
[ 270.730041] other info that might help us debug this:
[ 270.730043] rcu_scheduler_active = 1, debug_locks = 1
[ 270.730045] 2 locks held by dhclient/748:
[ 270.730046] #0: (rcu_read_lock_bh){......}, at: [<ffffffff81682b70>] __dev_queue_xmit+0x50/0x960
[ 270.730085] #1: (&qdisc_tx_lock){+.....}, at: [<ffffffff81682d60>] __dev_queue_xmit+0x240/0x960
[ 270.730090] stack backtrace:
[ 270.730096] CPU: 0 PID: 748 Comm: dhclient Not tainted 4.2.0-rc3+ #2
[ 270.730098] Hardware name: OpenStack Foundation OpenStack Nova, BIOS Bochs 01/01/2011
[ 270.730100] 0000000000000001 ffff8800bafeba58 ffffffff817ad487 0000000000000007
[ 270.730103] ffff880232a0a780 ffff8800bafeba88 ffffffff810ca4f2 ffff88022fb23e00
[ 270.730105] ffff880232a0a780 ffff8800bafebb68 ffff8800bafebb68 ffff8800bafebaa8
[ 270.730108] Call Trace:
[ 270.730121] [<ffffffff817ad487>] dump_stack+0x4c/0x65
[ 270.730148] [<ffffffff810ca4f2>] lockdep_rcu_suspicious+0xe2/0x120
[ 270.730153] [<ffffffff816a62d2>] task_cls_state+0x92/0xa0
[ 270.730158] [<ffffffffa00b534f>] cls_cgroup_classify+0x4f/0x120 [cls_cgroup]
[ 270.730164] [<ffffffff816aac74>] tc_classify_compat+0x74/0xc0
[ 270.730166] [<ffffffff816ab573>] tc_classify+0x33/0x90
[ 270.730170] [<ffffffffa00bcb0a>] htb_enqueue+0xaa/0x4a0 [sch_htb]
[ 270.730172] [<ffffffff81682e26>] __dev_queue_xmit+0x306/0x960
[ 270.730174] [<ffffffff81682b70>] ? __dev_queue_xmit+0x50/0x960
[ 270.730176] [<ffffffff816834a3>] dev_queue_xmit_sk+0x13/0x20
[ 270.730185] [<ffffffff81787770>] dev_queue_xmit+0x10/0x20
[ 270.730187] [<ffffffff8178b91c>] packet_snd.isra.62+0x54c/0x760
[ 270.730190] [<ffffffff8178be25>] packet_sendmsg+0x2f5/0x3f0
[ 270.730203] [<ffffffff81665245>] ? sock_def_readable+0x5/0x190
[ 270.730210] [<ffffffff817b64bb>] ? _raw_spin_unlock+0x2b/0x40
[ 270.730216] [<ffffffff8173bcbc>] ? unix_dgram_sendmsg+0x5cc/0x640
[ 270.730219] [<ffffffff8165f367>] sock_sendmsg+0x47/0x50
[ 270.730221] [<ffffffff8165f42f>] sock_write_iter+0x7f/0xd0
[ 270.730232] [<ffffffff811fd4c7>] __vfs_write+0xa7/0xf0
[ 270.730234] [<ffffffff811fe5b8>] vfs_write+0xb8/0x190
[ 270.730236] [<ffffffff811fe8c2>] SyS_write+0x52/0xb0
[ 270.730239] [<ffffffff817b6bae>] entry_SYSCALL_64_fastpath+0x12/0x76
Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-07-25 00:13:18 -07:00
..
2015-02-14 23:08:44 +01:00
2015-07-04 19:36:06 -07:00
2015-03-02 16:43:41 -05:00
2015-06-01 16:50:52 -07:00
2015-05-11 10:50:17 -04:00
2015-05-11 10:50:17 -04:00
2015-07-15 15:59:58 -07:00
2015-06-07 17:07:20 +02:00
2015-07-04 19:11:33 -07:00
2015-07-15 17:15:01 -07:00
2015-07-21 00:02:44 -07:00
2015-07-12 21:13:22 +02:00
2015-07-09 20:30:34 +03:00
2015-07-25 00:13:18 -07:00
2015-03-06 21:50:02 -05:00
2015-06-15 19:49:22 -07:00
2015-05-11 10:50:17 -04:00
2015-07-11 23:25:16 -07:00
2015-06-04 15:44:30 -07:00
2015-03-01 13:40:23 -05:00
2015-06-04 12:27:15 +02:00
2015-07-24 22:46:11 -07:00
2015-07-20 16:52:28 -07:00
2015-05-11 10:50:17 -04:00
2015-05-25 17:46:21 -04:00
2015-05-11 10:50:17 -04:00
2015-06-24 16:49:49 -07:00
2015-05-11 10:50:18 -04:00
2015-05-11 10:50:17 -04:00
2015-07-17 15:02:02 +02:00
2015-06-24 16:49:49 -07:00
2015-06-13 23:56:52 -07:00
2015-07-02 17:59:33 +02:00
2015-03-31 13:58:35 -04:00
2015-07-21 22:22:56 -07:00
2015-06-18 21:14:32 +02:00
2015-06-15 18:10:37 +02:00
2015-07-21 22:26:03 -07:00
2015-06-24 02:58:51 -07:00
2015-05-11 10:50:17 -04:00
2015-07-15 17:03:03 -07:00
2015-05-29 13:13:45 +02:00
2015-06-24 02:58:51 -07:00
2015-05-11 10:50:17 -04:00
2015-07-24 22:57:15 -07:00
2015-06-29 09:28:42 -07:00
2015-07-02 11:32:23 -07:00
2015-07-11 21:29:55 -07:00
2015-07-08 16:08:23 -07:00
2015-06-10 22:49:20 -07:00
2015-05-11 10:50:17 -04:00
2015-07-17 15:02:02 +02:00
2015-05-11 10:50:17 -04:00
2015-06-24 16:49:49 -07:00
2015-04-09 00:02:26 -04:00
2015-05-14 01:10:05 -04:00
2015-03-04 00:26:06 -05:00
2015-05-11 10:50:17 -04:00