All of lore.kernel.org
 help / color / mirror / Atom feed
* neighbour netlink notifications delivered in wrong order
@ 2022-06-06 23:01 Francesco Ruggeri
  2022-06-07  2:07 ` Andy Roulin
  0 siblings, 1 reply; 13+ messages in thread
From: Francesco Ruggeri @ 2022-06-06 23:01 UTC (permalink / raw)
  To: netdev, fruggeri

I have run into a race condition on a 4.19 kernel where netlink
notifications for a neighbour are queued in the wrong order on the
netlink socket.
This is one scenario, but I have also seen cases where the process
and softirq processing happens on the same cpu.
An Arp reply (or maybe garp, I am not sure) is received for a neighbour
while it is being deleted.

	CPU1			CPU2

rtnetlink_rcv_msg
neigh_delete
neigh_update
__neigh_notify(RTM_NEWNEIGH/NUD_FAILED)
__netlink_sendskb
			arp_rcv
			arp_process
			neigh_update
			__neigh_notify(RTM_NEWNEIGH/REACHABLE)
			__netlink_sendskb
			skb_queue_tail(&sk->sk_receive_queue, skb);
skb_queue_tail(&sk->sk_receive_queue, skb);

Is this a known issue?

Thanks,
Francesco Ruggeri



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2023-04-12  1:22 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-06 23:01 neighbour netlink notifications delivered in wrong order Francesco Ruggeri
2022-06-07  2:07 ` Andy Roulin
2022-06-07  3:19   ` Stephen Hemminger
2022-06-07 16:29     ` Francesco Ruggeri
2022-06-07 17:32       ` Stephen Hemminger
2022-06-07 20:03         ` Francesco Ruggeri
2022-06-08  3:49           ` Andy Roulin
2022-06-09 16:40             ` Francesco Ruggeri
2022-06-10 16:18               ` Francesco Ruggeri
2022-06-16 18:33                 ` Andy Roulin
2023-04-11 19:49                   ` Kevin Mitchell
2023-04-12  0:41             ` Stephen Hemminger
2023-04-12  1:22               ` Stephen Hemminger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.