HomeFreeBSD

MFC r341008:

Description

MFC r341008:

Fix possible panic during ifnet detach in rtsock.

The panic can happen, when some application does dump of routing table
using sysctl interface. To prevent this, set IFF_DYING flag in
if_detach_internal() function, when ifnet under lock is removed from
the chain. In sysctl_rtsock() take IFNET_RLOCK_NOSLEEP() to prevent
ifnet detach during routes enumeration. In case, if some interface was
detached in the time before we take the lock, add the check, that ifnet
is not DYING. This prevents access to memory that could be freed after
ifnet is unlinked.

Differential Revision:	https://reviews.freebsd.org/D18338

Details

Provenance
aeAuthored on
Parents
rS341677: MFC r341008:
Branches
Unknown
Tags
Unknown