Andy Gospodarek
96ac5cc963
ipv4: fix RCU lockdep warning from linkdown changes
The following lockdep splat was seen due to the wrong context for
grabbing in_dev.
===============================
[ INFO: suspicious RCU usage. ]
4.1.0-next-20150626-dbg-00020-g54a6d91-dirty #244 Not tainted
-------------------------------
include/linux/inetdevice.h:205 suspicious rcu_dereference_check() usage!
other info that might help us debug this:
rcu_scheduler_active = 1, debug_locks = 0
2 locks held by ip/403:
#0: (rtnl_mutex){+.+.+.}, at: [<ffffffff81453305>] rtnl_lock+0x17/0x19
#1: ((inetaddr_chain).rwsem){.+.+.+}, at: [<ffffffff8105c327>] __blocking_notifier_call_chain+0x35/0x6a
stack backtrace:
CPU: 2 PID: 403 Comm: ip Not tainted 4.1.0-next-20150626-dbg-00020-g54a6d91-dirty #244
0000000000000001 ffff8800b189b728 ffffffff8150a542 ffffffff8107a8b3
ffff880037bbea40 ffff8800b189b758 ffffffff8107cb74 ffff8800379dbd00
ffff8800bec85800 ffff8800bf9e13c0 00000000000000ff ffff8800b189b7d8
Call Trace:
[<ffffffff8150a542>] dump_stack+0x4c/0x6e
[<ffffffff8107a8b3>] ? up+0x39/0x3e
[<ffffffff8107cb74>] lockdep_rcu_suspicious+0xf7/0x100
[<ffffffff814b63c3>] fib_dump_info+0x227/0x3e2
[<ffffffff814b6624>] rtmsg_fib+0xa6/0x116
[<ffffffff814b978f>] fib_table_insert+0x316/0x355
[<ffffffff814b362e>] fib_magic+0xb7/0xc7
[<ffffffff814b4803>] fib_add_ifaddr+0xb1/0x13b
[<ffffffff814b4d09>] fib_inetaddr_event+0x36/0x90
[<ffffffff8105c086>] notifier_call_chain+0x4c/0x71
[<ffffffff8105c340>] __blocking_notifier_call_chain+0x4e/0x6a
[<ffffffff8105c370>] blocking_notifier_call_chain+0x14/0x16
[<ffffffff814a7f50>] __inet_insert_ifa+0x1a5/0x1b3
[<ffffffff814a894d>] inet_rtm_newaddr+0x350/0x35f
[<ffffffff81457866>] rtnetlink_rcv_msg+0x17b/0x18a
[<ffffffff8107e7c3>] ? trace_hardirqs_on+0xd/0xf
[<ffffffff8146965f>] ? netlink_deliver_tap+0x1cb/0x1f7
[<ffffffff814576eb>] ? rtnl_newlink+0x72a/0x72a
...
This patch resolves that splat.
Signed-off-by: Andy Gospodarek <gospo@cumulusnetworks.com>
Reported-by: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-06-28 16:47:12 -07:00
..
2015-06-24 02:15:54 -07:00
2015-06-24 02:58:51 -07:00
2014-09-18 10:54:36 +02:00
2015-04-07 15:25:55 -04:00
2015-04-03 12:11:15 -04:00
2014-07-07 21:14:21 -07:00
2015-06-24 02:15:54 -07:00
2015-05-28 11:23:20 +08:00
2015-06-24 02:15:54 -07:00
2015-03-11 16:22:14 -04:00
2015-06-24 02:15:54 -07:00
2015-06-28 16:47:12 -07:00
2015-06-24 02:15:54 -07:00
2015-04-16 12:11:19 -04:00
2015-05-13 15:59:13 -04:00
2014-09-08 15:23:05 -07:00
2015-04-03 12:11:15 -04:00
2015-04-03 12:11:15 -04:00
2015-05-04 14:49:23 -04:00
2015-05-21 18:55:32 -04:00
2015-06-24 02:51:39 -07:00
2015-04-03 12:11:15 -04:00
2015-05-27 14:30:10 -04:00
2015-05-13 15:21:33 -04:00
2014-09-08 16:42:42 -07:00
2015-05-25 00:08:48 -04:00
2015-05-27 13:03:31 -04:00
2015-04-03 12:11:15 -04:00
2015-04-07 15:25:55 -04:00
2015-04-03 12:11:15 -04:00
2015-06-15 14:30:32 -07:00
2015-06-24 02:58:51 -07:00
2015-05-14 22:30:54 -04:00
2015-04-07 15:29:08 -04:00
2015-05-28 06:23:32 +02:00
2015-04-03 12:11:15 -04:00
2015-04-03 12:11:15 -04:00
2015-05-17 13:08:29 -04:00
2015-04-07 15:25:55 -04:00
2015-06-11 00:09:12 -07:00
2015-06-11 00:09:12 -07:00
2015-04-04 12:25:22 -04:00
2015-05-01 22:02:47 -04:00
2015-05-09 16:42:32 -04:00
2014-09-19 17:15:31 -04:00
2015-04-13 18:18:05 -04:00
2015-06-24 02:15:54 -07:00
2015-06-07 15:19:52 -07:00
2015-05-30 17:37:44 -07:00
2015-01-28 22:18:37 -08:00
2015-06-14 12:57:45 -07:00
2015-05-31 21:49:14 -07:00
2015-03-11 16:51:51 -04:00
2015-06-10 23:28:33 -07:00
2015-06-15 19:49:22 -07:00
2015-06-23 02:38:10 -07:00
2014-09-01 18:12:45 -07:00
2014-09-01 18:12:45 -07:00
2014-09-01 18:12:45 -07:00
2015-04-29 17:10:38 -04:00
2015-06-11 16:33:11 -07:00
2015-06-07 01:55:01 -07:00
2014-05-03 19:23:07 -04:00
2015-02-12 18:54:10 -08:00
2015-04-07 18:36:39 -04:00
2015-06-01 22:51:30 -07:00
2015-06-11 16:33:10 -07:00
2015-06-11 16:33:11 -07:00
2014-09-01 18:12:45 -07:00
2015-01-28 22:18:37 -08:00
2015-05-17 22:45:48 -04:00
2015-04-29 17:10:38 -04:00
2015-04-29 17:10:38 -04:00
2015-01-28 22:18:37 -08:00
2015-05-05 19:50:09 -04:00
2015-01-28 22:18:37 -08:00
2015-06-24 02:58:51 -07:00
2015-06-15 19:49:22 -07:00
2015-03-02 13:06:31 -05:00
2015-04-03 12:11:15 -04:00
2015-05-11 10:50:18 -04:00
2015-06-04 00:46:26 -07:00
2014-05-23 16:28:53 -04:00
2015-04-07 15:25:55 -04:00
2015-03-25 14:07:04 -04:00
2015-04-07 15:25:55 -04:00
2015-04-03 12:11:15 -04:00
2014-06-30 07:49:47 +02:00