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