rip6_output WITNESS warning
Norikatsu Shigemura
nork at FreeBSD.org
Thu Jul 29 11:21:48 PDT 2004
On Thu, 29 Jul 2004 12:40:46 -0400 (EDT)
Robert Watson <rwatson at FreeBSD.org> wrote:
> > I contacted WITNESS warning on boot(newest current) in my
> > SMP machine(PentiumIII x2).
> Similar to a problem we saw on IPv4. Could you try the following:
> - At or about line 379 of raw_ip6.c (raw6_output()), there's a call to
> M_PREPEND with the argumetn M_TRYWAIT. Could you make this M_DONTWAIT?
> - This code fails to properly check the return value. After the
> M_PREPEND() call, we should check if m is NULL, and if so, goto bad.
Thanks for ume's suggestion. I modified it like following
lines:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
M_PREPEND(m, sizeof(*ip6), M_DONTWAIT);
if (m == NULL) {
error = ENOBUFS;
goto bad;
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
I rebooted and, at least, I didn't contact WITNESS warning.
I think it looks good...
More information about the freebsd-current
mailing list