[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8d644855-0d78-4d0f-85c4-b71158b819d3@blackwall.org>
Date: Wed, 23 Apr 2025 17:58:39 +0300
From: Nikolay Aleksandrov <razor@...ckwall.org>
To: Ido Schimmel <idosch@...dia.com>, netdev@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org, pabeni@...hat.com,
edumazet@...gle.com, andrew+netdev@...n.ch, petrm@...dia.com,
roopa@...dia.com
Subject: Re: [PATCH net] vxlan: vnifilter: Fix unlocked deletion of default
FDB entry
On 4/23/25 17:51, Ido Schimmel wrote:
> When a VNI is deleted from a VXLAN device in 'vnifilter' mode, the FDB
> entry associated with the default remote (assuming one was configured)
> is deleted without holding the hash lock. This is wrong and will result
> in a warning [1] being generated by the lockdep annotation that was
> added by commit ebe642067455 ("vxlan: Create wrappers for FDB lookup").
>
> Reproducer:
>
> # ip link add vx0 up type vxlan dstport 4789 external vnifilter local 192.0.2.1
> # bridge vni add vni 10010 remote 198.51.100.1 dev vx0
> # bridge vni del vni 10010 dev vx0
>
> Fix by acquiring the hash lock before the deletion and releasing it
> afterwards. Blame the original commit that introduced the issue rather
> than the one that exposed it.
>
> [1]
> WARNING: CPU: 3 PID: 392 at drivers/net/vxlan/vxlan_core.c:417 vxlan_find_mac+0x17f/0x1a0
> [...]
> RIP: 0010:vxlan_find_mac+0x17f/0x1a0
> [...]
> Call Trace:
> <TASK>
> __vxlan_fdb_delete+0xbe/0x560
> vxlan_vni_delete_group+0x2ba/0x940
> vxlan_vni_del.isra.0+0x15f/0x580
> vxlan_process_vni_filter+0x38b/0x7b0
> vxlan_vnifilter_process+0x3bb/0x510
> rtnetlink_rcv_msg+0x2f7/0xb70
> netlink_rcv_skb+0x131/0x360
> netlink_unicast+0x426/0x710
> netlink_sendmsg+0x75a/0xc20
> __sock_sendmsg+0xc1/0x150
> ____sys_sendmsg+0x5aa/0x7b0
> ___sys_sendmsg+0xfc/0x180
> __sys_sendmsg+0x121/0x1b0
> do_syscall_64+0xbb/0x1d0
> entry_SYSCALL_64_after_hwframe+0x4b/0x53
>
> Fixes: f9c4bb0b245c ("vxlan: vni filtering support on collect metadata device")
> Signed-off-by: Ido Schimmel <idosch@...dia.com>
> ---
> I'm sorry, but I only noticed this issue after the recent VXLAN patches
> were applied to net-next. There will be a conflict when merging net into
> net-next, but resolution is trivial. Reference:
> https://github.com/idosch/linux/commit/ed95370ec89cccbf784d5ef5ea4b6fb6fa0daf47.patch
> ---
> drivers/net/vxlan/vxlan_vnifilter.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
Oops, yup. Thanks,
Reviewed-by: Nikolay Aleksandrov <razor@...ckwall.org>
Powered by blists - more mailing lists