On Tue, 4 Jan 2022 10:21:21 +0200 Lahav Schlesinger wrote:
Hi Jakub, I just sent a V6 for this patch. Just wanted to note that I
tried this approach of using unreg_list, but it caused issues with e.g.
veth deletion - the dellink() of a veth peer automatically adds the
other peer to the queued list. So if the list of ifindices contains
both peers then when 'to_kill' is iterated, both the current device
and the next pointer will have their 'unreg_list' moved to the other
list, which later raised a page fault when 'to_kill' was further
iterated upon.
Therefore instead I added a big flag in a "hole" inside struct
net_device, as David suggested.
Ack. Thanks for trying it out.