]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r365457:
authorKristof Provost <kp@FreeBSD.org>
Sat, 12 Sep 2020 18:58:36 +0000 (18:58 +0000)
committerKristof Provost <kp@FreeBSD.org>
Sat, 12 Sep 2020 18:58:36 +0000 (18:58 +0000)
commitc55ffe543826f574f6560b05642ee4c06178853c
tree781b4a59d29efdb472e5a679d4b560120cf071cb
parentf76742c89277060d0a1830fb51068d1573893483
MFC r365457:

net: mitigate vnet / epair cleanup races

There's a race where dying vnets move their interfaces back to their original
vnet, and if_epair cleanup (where deleting one interface also deletes the other
end of the epair). This is commonly triggered by the pf tests, but also by
cleanup of vnet jails.

As we've not yet been able to fix the root cause of the issue work around the
panic by not dereferencing a NULL softc in epair_qflush() and by not
re-attaching DYING interfaces.

This isn't a full fix, but makes a very common panic far less likely.

PR: 244703, 238870
Approved by: re (gjb)
sys/net/if.c
sys/net/if_epair.c