Ido Schimmel
263e463358
ipv4: Silence suspicious RCU usage warning
...
[ Upstream commit 7f6f32bb7d3355cd78ebf1dece9a6ea7a0ca8158 ]
fib_info_notify_update() is always called with RTNL held, but not from
an RCU read-side critical section. This leads to the following warning
[1] when the FIB table list is traversed with
hlist_for_each_entry_rcu(), but without a proper lockdep expression.
Since modification of the list is protected by RTNL, silence the warning
by adding a lockdep expression which verifies RTNL is held.
[1]
=============================
WARNING: suspicious RCU usage
5.9.0-rc1-custom-14233-g2f26e122d62f #129 Not tainted
-----------------------------
net/ipv4/fib_trie.c:2124 RCU-list traversed in non-reader section!!
other info that might help us debug this:
rcu_scheduler_active = 2, debug_locks = 1
1 lock held by ip/834:
#0 : ffffffff85a3b6b0 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x49a/0xbd0
stack backtrace:
CPU: 0 PID: 834 Comm: ip Not tainted 5.9.0-rc1-custom-14233-g2f26e122d62f #129
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-2.fc32 04/01/2014
Call Trace:
dump_stack+0x100/0x184
lockdep_rcu_suspicious+0x143/0x14d
fib_info_notify_update+0x8d1/0xa60
__nexthop_replace_notify+0xd2/0x290
rtm_new_nexthop+0x35e2/0x5946
rtnetlink_rcv_msg+0x4f7/0xbd0
netlink_rcv_skb+0x17a/0x480
rtnetlink_rcv+0x22/0x30
netlink_unicast+0x5ae/0x890
netlink_sendmsg+0x98a/0xf40
____sys_sendmsg+0x879/0xa00
___sys_sendmsg+0x122/0x190
__sys_sendmsg+0x103/0x1d0
__x64_sys_sendmsg+0x7d/0xb0
do_syscall_64+0x32/0x50
entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x7fde28c3be57
Code: 0c 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51
c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10
RSP: 002b:00007ffc09330028 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fde28c3be57
RDX: 0000000000000000 RSI: 00007ffc09330090 RDI: 0000000000000003
RBP: 000000005f45f911 R08: 0000000000000001 R09: 00007ffc0933012c
R10: 0000000000000076 R11: 0000000000000246 R12: 0000000000000001
R13: 00007ffc09330290 R14: 00007ffc09330eee R15: 00005610e48ed020
Fixes: 1bff1a0c9bbd ("ipv4: Add function to send route updates")
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-09-12 14:18:54 +02:00
..
2019-05-21 12:33:38 -07:00
2020-06-03 08:21:35 +02:00
2019-08-19 18:22:54 -07:00
2019-06-06 08:34:50 +02:00
2019-05-30 11:26:32 -07:00
2020-05-20 08:20:08 +02:00
2019-11-01 14:57:52 -07:00
2020-06-10 20:24:54 +02:00
2020-06-03 08:21:32 +02:00
2019-07-01 06:16:40 +02:00
2020-06-03 08:21:37 +02:00
2019-06-04 19:26:49 -07:00
2017-11-02 11:10:55 +01:00
2019-06-07 11:00:14 -07:00
2020-06-30 15:36:44 -04:00
2020-09-12 14:18:54 +02:00
2020-01-29 16:45:22 +01:00
2020-03-18 07:17:38 +01:00
2020-08-11 15:33:40 +02:00
2020-07-22 09:32:50 +02:00
2019-08-20 12:48:06 -07:00
2020-08-19 08:16:23 +02:00
2020-03-18 07:17:38 +01:00
2019-08-08 15:55:10 -07:00
2020-08-19 08:16:23 +02:00
2019-05-21 10:50:45 +02:00
2020-01-04 19:18:39 +01:00
2019-09-20 18:23:33 -07:00
2019-08-08 15:55:10 -07:00
2020-04-01 11:01:46 +02:00
2019-10-01 18:42:15 +02:00
2019-06-21 18:35:51 +02:00
2020-07-22 09:32:50 +02:00
2019-05-25 11:00:50 -07:00
2019-06-18 20:48:45 -04:00
2020-06-30 15:36:46 -04:00
2020-06-03 08:21:34 +02:00
2019-07-05 15:01:15 -07:00
2019-02-01 15:24:13 -08:00
2020-06-03 08:20:52 +02:00
2019-05-07 17:22:09 -07:00
2020-06-03 08:20:41 +02:00
2020-04-01 11:02:05 +02:00
2019-05-28 21:37:30 -07:00
2019-05-21 10:50:45 +02:00
2019-01-28 11:32:58 +01:00
2019-05-21 10:50:45 +02:00
2020-09-03 11:26:40 +02:00
2020-07-22 09:32:47 +02:00
2019-06-17 20:20:36 -07:00
2019-05-30 11:26:32 -07:00
2020-03-18 07:17:38 +01:00
2019-10-01 18:42:15 +02:00
2020-06-03 08:21:00 +02:00
2019-05-30 11:26:32 -07:00
2020-08-19 08:16:23 +02:00
2020-01-29 16:45:21 +01:00
2019-05-21 10:50:45 +02:00
2020-06-24 17:50:42 +02:00
2019-05-21 10:50:45 +02:00
2020-07-22 09:32:48 +02:00
2020-06-30 15:36:47 -04:00
2019-05-30 11:26:32 -07:00
2018-10-10 22:26:00 -07:00
2019-10-13 10:13:08 -07:00
2020-08-19 08:16:23 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2020-08-11 15:33:41 +02:00
2020-07-22 09:32:49 +02:00
2019-05-21 10:50:45 +02:00
2019-05-01 11:47:54 -04:00
2019-10-13 10:13:08 -07:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:26:32 -07:00
2020-07-31 18:39:31 +02:00
2019-05-21 10:50:45 +02:00
2018-09-21 19:37:59 -07:00
2019-05-21 10:50:45 +02:00
2019-10-13 10:13:08 -07:00
2020-01-23 08:22:45 +01:00
2019-05-21 10:50:45 +02:00
2017-11-02 11:10:55 +01:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2020-08-19 08:16:23 +02:00
2019-05-21 10:50:45 +02:00
2020-03-18 07:17:38 +01:00
2019-01-17 15:01:08 -08:00
2019-06-22 08:59:24 -04:00
2019-05-21 10:50:45 +02:00
2020-07-31 18:39:31 +02:00
2019-05-30 11:26:32 -07:00
2018-09-04 10:26:30 +02:00
2020-04-29 16:33:11 +02:00
2020-01-04 19:18:58 +01:00
2019-05-30 11:26:32 -07:00
2019-06-06 08:34:50 +02:00
2019-06-06 08:34:50 +02:00