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:31:21 -0700
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 *);
 
 	/*


Later,
George
Received on Wed Aug 11 2004 - 02:32:09 UTC

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