• David Ahern's avatar
    l3mdev: l3mdev_master_upper_ifindex_by_index_rcu should be using netdev_master_upper_dev_get_rcu · 83daab06
    David Ahern authored
    Next patch uses l3mdev_master_upper_ifindex_by_index_rcu which throws
    a splat with debug kernels:
    
    [13783.087570] ------------[ cut here ]------------
    [13783.093974] RTNL: assertion failed at net/core/dev.c (6702)
    [13783.100761] WARNING: CPU: 3 PID: 51132 at net/core/dev.c:6702 netdev_master_upper_dev_get+0x16a/0x1a0
    
    [13783.184226] CPU: 3 PID: 51132 Comm: kworker/3:3 Not tainted 5.17.0-custom-100090-g6f963aafb1cc #682
    [13783.194788] Hardware name: Mellanox Technologies Ltd. MSN2010/SA002610, BIOS 5.6.5 08/24/2017
    [13783.204755] Workqueue: mld mld_ifc_work [ipv6]
    [13783.210338] RIP: 0010:netdev_master_upper_dev_get+0x16a/0x1a0
    [13783.217209] Code: 0f 85 e3 fe ff ff e8 65 ac ec fe ba 2e 1a 00 00 48 c7 c6 60 6f 38 83 48 c7 c7 c0 70 38 83 c6 05 5e b5 d7 01 01 e8 c6 29 52 00 <0f> 0b e9 b8 fe ff ff e8 5a 6c 35 ff e9 1c ff ff ff 48 89 ef e8 7d
    [13783.238659] RSP: 0018:ffffc9000b37f5a8 EFLAGS: 00010286
    [13783.244995] RAX: 0000000000000000 RBX: ffff88812ee5c000 RCX: 0000000000000000
    [13783.253379] RDX: ffff88811ce09d40 RSI: ffffffff812d0fcd RDI: fffff5200166fea7
    [13783.261769] RBP: 0000000000000000 R08: 0000000000000001 R09: ffff8882375f4287
    [13783.270138] R10: ffffed1046ebe850 R11: 0000000000000001 R12: dffffc0000000000
    [13783.278510] R13: 0000000000000275 R14: ffffc9000b37f688 R15: ffff8881273b4af8
    [13783.286870] FS:  0000000000000000(0000) GS:ffff888237400000(0000) knlGS:0000000000000000
    [13783.296352] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [13783.303177] CR2: 00007ff25fc9b2e8 CR3: 0000000174d23000 CR4: 00000000001006e0
    [13783.311546] Call Trace:
    [13783.314660]  <TASK>
    [13783.317553]  l3mdev_master_upper_ifindex_by_index_rcu+0x43/0xe0
    ...
    
    Change l3mdev_master_upper_ifindex_by_index_rcu to use
    netdev_master_upper_dev_get_rcu.
    
    Fixes: 6a6d6681 ("l3mdev: add function to retreive upper master")
    Signed-off-by: default avatarIdo Schimmel <idosch@idosch.org>
    Signed-off-by: default avatarDavid Ahern <dsahern@kernel.org>
    Cc: Alexis Bauvin <abauvin@scaleway.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    83daab06
l3mdev.c 6.58 KB