Sleeping in "rip6_output" with the following non-sleepable
locks held
George V. Neville-Neil
gnn at neville-neil.com
Tue Aug 10 21:40:33 PDT 2004
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:
>
> @@ -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 *);
>
> /*
>
Sorry, forgot to put in the the name of the file. It's
sys/netinet6/raw_ip6.c
Later,
George
More information about the freebsd-current
mailing list