kern/86427: LOR / Deadlock with FASTIPSEC and nat

Robert Watson rwatson at FreeBSD.org
Fri Jan 13 10:00:21 PST 2006


The following reply was made to PR kern/86427; it has been noted by GNATS.

From: Robert Watson <rwatson at FreeBSD.org>
To: Robert Huff <roberthuff at rcn.com>
Cc: bug-followup at FreeBSD.org
Subject: Re: kern/86427: LOR / Deadlock with FASTIPSEC and nat
Date: Fri, 13 Jan 2006 17:52:39 +0000 (GMT)

 On Fri, 13 Jan 2006, Robert Huff wrote:
 
 > The following reply was made to PR kern/86427; it has been noted by GNATS.
 >
 > From: Robert Huff <roberthuff at rcn.com>
 > To: bug-followup at FreeBSD.org,  mike at sentex.net
 > Cc:
 > Subject: Re: kern/86427: LOR / Deadlock with FASTIPSEC and nat
 > Date: Thu, 12 Jan 2006 20:23:11 -0500
 >
 > 	I'm getting what seems to be either the same problem or its fraternal
 > twin ... only without either IPSEC (any flavor) or any vpn.
 > 	Running
 
 This may in part be due to a bug in IP divert sockets, resulting in recursion 
 in the network stack.  The attached untested patch may help, or at least, 
 eliminate part of the problem.  This hasn't yet been committed because I've 
 had trouble finding someone to test it.
 
 Index: ip_divert.c
 ===================================================================
 RCS file: /home/ncvs/src/sys/netinet/ip_divert.c,v
 retrieving revision 1.113
 diff -u -r1.113 ip_divert.c
 --- ip_divert.c	13 May 2005 11:44:37 -0000	1.113
 +++ ip_divert.c	13 Nov 2005 19:27:32 -0000
 @@ -61,6 +61,7 @@
   #include <vm/uma.h>
 
   #include <net/if.h>
 +#include <net/netisr.h>
   #include <net/route.h>
 
   #include <netinet/in.h>
 @@ -378,7 +379,7 @@
   		SOCK_UNLOCK(so);
   #endif
   		/* Send packet to input processing */
 -		ip_input(m);
 +		netisr_queue(NETISR_IP, m);
   	}
 
   	return error;


More information about the freebsd-bugs mailing list