svn commit: r213932 - head/sys/netinet

Bjoern A. Zeeb bz at FreeBSD.org
Sat Oct 16 20:15:08 UTC 2010


On Sat, 16 Oct 2010, Bjoern A. Zeeb wrote:

> Author: bz
> Date: Sat Oct 16 19:53:22 2010
> New Revision: 213932
> URL: http://svn.freebsd.org/changeset/base/213932
>
> Log:
>  MfP4 CH182763 (original version):
>
>  Make it harder to exploit certain in_control() related races between the
>  intiial lookup at the beginning and the time we will remove the entry
>  from the lists by re-checking that entry is still in the list before
>  trying to remove it.
>
>  (*) It is believed that with the current code and locking strategy we
>      cannot completely fix all race.

Just as a follow-up:

a couple of weeks ago I spent too much time on this to come to that
conclusion. Try running 3 or more parallel ifconfig loops adding
and removing the very same address and it's only matter of seconds.
In case someone is interested I have a way huger patch of unknown
state around but it's always only shifiting the problem.

A possibly better fix to change the locking strategy is currently under
discussion.


>  Reported by:	Nima Misaghian (nima_misa hotmail.com) on net@ 20100817
>  Tested by:	Nima Misaghian (nima_misa hotmail.com) (original version)
>  PR:		kern/146250
>  Submitted by:	Mikolaj Golub (to.my.trociny gmail.com) (different version)
>  MFC after:	1 week
>
> Modified:
>  head/sys/netinet/in.c

-- 
Bjoern A. Zeeb                              Welcome a new stage of life.


More information about the svn-src-head mailing list