[Differential] D12457: Complete INADDR_HASH lock protection
mav (Alexander Motin)
phabric-noreply at FreeBSD.org
Fri Sep 22 12:18:49 UTC 2017
mav added inline comments.
INLINE COMMENTS
> if_stf.c:383
> break;
> + IN_IFADDR_RUNLOCK(&in_ifa_tracker);
> if (ia4 == NULL)
Wouldn't it be better to use in_localip() here instead of code duplication? Or I miss something?
> in_mcast.c:1383
> + IN_IFADDR_RUNLOCK(&in_ifa_tracker);
> + }
> if (sopt->sopt_name == IP_BLOCK_SOURCE)
Do I miss some other protection means or this and few below places just scream about possible races due to missing interface pointer pulled out of the lock without taking reference?
I suspect INADDR_TO_IFP KPI is not safe now in general.
> ip_input.c:697
> }
> - /* IN_IFADDR_RUNLOCK(); */
> + IN_IFADDR_RUNLOCK(&in_ifa_tracker);
>
Looking on r194951 commit message and later r286001 commit this should be uncommented now, but comments from active networking people are welcome.
REPOSITORY
rS FreeBSD src repository
REVISION DETAIL
https://reviews.freebsd.org/D12457
EMAIL PREFERENCES
https://reviews.freebsd.org/settings/panel/emailpreferences/
To: eugen_grosbein.net, ae, avg, mav, rwatson
Cc: imp, freebsd-net-list
More information about the freebsd-net
mailing list