svn commit: r239984 - stable/9/sys/netinet6
Mikolaj Golub
trociny at FreeBSD.org
Sat Sep 1 10:37:42 UTC 2012
Author: trociny
Date: Sat Sep 1 10:37:41 2012
New Revision: 239984
URL: http://svn.freebsd.org/changeset/base/239984
Log:
MFC r239383:
In ip6_ctloutput() guard inp_flags modifications with INP_WLOCK.
Modified:
stable/9/sys/netinet6/ip6_output.c
Directory Properties:
stable/9/sys/ (props changed)
Modified: stable/9/sys/netinet6/ip6_output.c
==============================================================================
--- stable/9/sys/netinet6/ip6_output.c Sat Sep 1 10:33:53 2012 (r239983)
+++ stable/9/sys/netinet6/ip6_output.c Sat Sep 1 10:37:41 2012 (r239984)
@@ -1618,18 +1618,22 @@ ip6_ctloutput(struct socket *so, struct
break;
#define OPTSET(bit) \
do { \
+ INP_WLOCK(in6p); \
if (optval) \
in6p->inp_flags |= (bit); \
else \
in6p->inp_flags &= ~(bit); \
+ INP_WUNLOCK(in6p); \
} while (/*CONSTCOND*/ 0)
#define OPTSET2292(bit) \
do { \
+ INP_WLOCK(in6p); \
in6p->inp_flags |= IN6P_RFC2292; \
if (optval) \
in6p->inp_flags |= (bit); \
else \
in6p->inp_flags &= ~(bit); \
+ INP_WUNLOCK(in6p); \
} while (/*CONSTCOND*/ 0)
#define OPTBIT(bit) (in6p->inp_flags & (bit) ? 1 : 0)
@@ -1883,6 +1887,7 @@ do { \
if (error)
break;
+ INP_WLOCK(in6p);
switch (optval) {
case IPV6_PORTRANGE_DEFAULT:
in6p->inp_flags &= ~(INP_LOWPORT);
@@ -1903,6 +1908,7 @@ do { \
error = EINVAL;
break;
}
+ INP_WUNLOCK(in6p);
break;
#ifdef IPSEC
More information about the svn-src-stable-9
mailing list