svn commit: r239383 - head/sys/netinet6
Mikolaj Golub
trociny at FreeBSD.org
Sun Aug 19 08:35:31 UTC 2012
On Sun, Aug 19, 2012 at 08:16:13AM +0000, Mikolaj Golub wrote:
> Author: trociny
> Date: Sun Aug 19 08:16:13 2012
> New Revision: 239383
> URL: http://svn.freebsd.org/changeset/base/239383
>
> Log:
> In ip6_ctloutput() guard inp_flags modifications with INP_WLOCK.
>
The issue this commit fixes was reproduced using this simple program:
http://people.freebsd.org/~trociny/test_IPPROTO_IPV6.c
When two threads modified IPPROTO_IPV6 options simultaneously (each thread a
different option but both options are in inp_flags, like IPV6_V6ONLY
and IPV6_PORTRANGE) the result could be wrong due to the interference.
I think that modification of ip6_pktopts should be guarded with
the lock too. I have a patch for this:
http://people.freebsd.org/~trociny/ip6_output.c.ip6_pktopts.1.patch
Unfortunately, I don't know how to test this.
--
Mikolaj Golub
More information about the svn-src-head
mailing list