Re: Sleeping in "rip6_output" with the following non-sleepable locks held

From: George V. Neville-Neil <gnn_at_neville-neil.com>
Date: Tue, 10 Aug 2004 21:39:09 -0700
At Tue, 10 Aug 2004 21:31:21 -0700,
George V. Neville-Neil wrote:
> 
> At Wed, 11 Aug 2004 00:14:49 -0400 (EDT),
> Robert Watson wrote:
> > 
> > 
> > On Wed, 11 Aug 2004, Jun Kuriyama wrote:
> > 
> > > This is today's -current on amd64 box:
> > 
> > Hmm.  There was a patch floating around for this based on my suggestion of
> > converting this to an M_DONTWAIT and then handling the error case, but I
> > don't seem to be able to find it in my mailbox.  Do you have a copy? 
> > 
> 
> I believe this is what you mean:
> 
> _at__at_ -376,7 +377,12 _at__at_
>  		code = icmp6->icmp6_code;
>  	}
>  
> -	M_PREPEND(m, sizeof(*ip6), M_TRYWAIT);
> +	M_PREPEND(m, sizeof(*ip6), M_DONTWAIT);
> +	if (m == NULL) {
> +		error = ENOBUFS;
> +		goto bad;
> +	}
> +
>  	ip6 = mtod(m, struct ip6_hdr *);
>  
>  	/*
> 

Sorry, forgot to put in the the name of the file.  It's 

sys/netinet6/raw_ip6.c

Later,
George
Received on Wed Aug 11 2004 - 02:40:33 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:05 UTC