From owner-freebsd-net@FreeBSD.ORG Thu Jul 24 08:31:57 2003 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8F68B37B401 for ; Thu, 24 Jul 2003 08:31:57 -0700 (PDT) Received: from mail.sandvine.com (sandvine.com [199.243.201.138]) by mx1.FreeBSD.org (Postfix) with ESMTP id EBF6043F93 for ; Thu, 24 Jul 2003 08:31:56 -0700 (PDT) (envelope-from don@sandvine.com) Received: by mail.sandvine.com with Internet Mail Service (5.5.2653.19) id <305LGVPM>; Thu, 24 Jul 2003 11:31:56 -0400 Message-ID: From: Don Bowman To: Don Bowman , "'freebsd-net@freebsd.org'" Date: Thu, 24 Jul 2003 11:31:55 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Subject: RE: splx() bug in ip_dummynet? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Jul 2003 15:31:57 -0000 From: Don Bowman [mailto:don@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)