Date: Fri, 30 Jul 2004 03:21:46 +0900 From: Norikatsu Shigemura <nork@FreeBSD.org> To: Robert Watson <rwatson@FreeBSD.org> Cc: nork@FreeBSD.org Subject: Re: rip6_output WITNESS warning Message-ID: <20040730032146.2f58c73c.nork@FreeBSD.org> In-Reply-To: <Pine.NEB.3.96L.1040729123927.46374E-100000@fledge.watson.org> References: <200407291639.i6TGdIP5037477@sakura.ninth-nine.com> <Pine.NEB.3.96L.1040729123927.46374E-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 29 Jul 2004 12:40:46 -0400 (EDT) Robert Watson <rwatson@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...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040730032146.2f58c73c.nork>