Re: [PATCH net 0/2] bridge/vxlan: fix reading neigh ha without synchronization
Nikolay Aleksandrov <[email protected]>
| Newsgroups | gmane.linux.network.bridge |
|---|---|
| Message-ID | <c1e62798-d1ab-4ec7-b50f-c54b360f96bd__8669.75409896753$1787064433$gmane$org@blackwall.org> |
On 17/08/2026 18:25, Nikolay Aleksandrov wrote: > On 17/08/2026 17:36, Nikolay Aleksandrov wrote: >> Hi, >> Neigh ha address must be read using the seqlock to get a stable snapshot. >> Both the bridge and vxlan read it directly and can see partial updates. >> I reproduced both issues with running neigh updates and exercising these >> paths in parallel and saw partial addresses, e.g. updating between >> neigh A: 02:00:00:00:00:00 neigh B: fe:ff:ff:ff:ff:ff was able to observe >> 02:00:ff:ff:ff:ff and fe:ff:00:00:00:00 in packets. Noticed this initially >> in the bridge, then checked vxlan and its arp/neigh_reduce functions have >> the same bug, route_shortcircuit is doing the right thing already. >> >> Cheers, >> Nik >> >> Nikolay Aleksandrov (2): >> net: bridge: arp/nd proxy: fix reading neigh ha >> vxlan: fix reading neigh ha >> >> drivers/net/vxlan/vxlan_core.c | 20 +++++++++++++------- >> net/bridge/br_arp_nd_proxy.c | 24 ++++++++++++++---------- >> 2 files changed, 27 insertions(+), 17 deletions(-) >> > > (-CC bouncing emails) > > Hmm perhaps it's better to use ETH_ALEN instead of MAX_ADDR_LEN to explicitly > show the expected len everywhere, it cannot be different anyway. > I'll do it for v2 after 24h. > > Cheers, > Nik > > > Sashiko brought up valid alignment questions (ether_addr_copy expects 2-byte align). I'll fix that up before sending v2. Thanks, Nik