Sleeping in "rip6_output" with the following non-sleepable
locks held
George V. Neville-Neil
gnn at neville-neil.com
Tue Aug 10 21:32:09 PDT 2004
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:
@@ -376,7 +377,12 @@
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
More information about the freebsd-current
mailing list