splx() bug in ip_dummynet?
Don Bowman
don at sandvine.com
Thu Jul 24 08:31:57 PDT 2003
From: Don Bowman [mailto:don at sandvine.com]
...
I believe this patch will correct the issue.
Index: ip_dummynet.c
===================================================================
RCS file: /usr/cvs/src/sys/netinet/ip_dummynet.c,v
retrieving revision 1.24.2.17.1000.1
retrieving revision 1.24.2.17.1000.2
diff -U3 -r1.24.2.17.1000.1 -r1.24.2.17.1000.2
--- ip_dummynet.c 21 Jun 2003 20:47:59 -0000 1.24.2.17.1000.1
+++ ip_dummynet.c 24 Jul 2003 15:27:59 -0000 1.24.2.17.1000.2
@@ -1571,10 +1571,12 @@
if ( x->fs.rq == NULL ) { /* a new pipe */
- s = alloc_hash(&(x->fs), pfs) ;
- if (s) {
+ int s1;
+ s1 = alloc_hash(&(x->fs), pfs) ;
+ if (s1) {
free(x, M_DUMMYNET);
- return s ;
+ splx(s);
+ return s1 ;
}
x->next = b ;
if (a == NULL)
More information about the freebsd-net
mailing list