Date: Fri, 12 Aug 2016 11:38:45 -0700 From: Gleb Smirnoff <glebius@FreeBSD.org> To: Sean Bruno <sbruno@FreeBSD.org> Cc: Michael Zhilin <mizhka@gmail.com>, ngie@FreeBSD.org, sergey.dyatko@gmail.com, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r303848 - head/sys/netgraph Message-ID: <20160812183845.GJ1076@FreeBSD.org> In-Reply-To: <201608081931.u78JV1Ve026577@repo.freebsd.org> References: <201608081931.u78JV1Ve026577@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi! Sorry, I'm afraid this isn't a correct fix. Simply adding checks against NULL to avoid panics at race conditions isn't a solution. I can provide help with this problem. It must be related to my callout changes, in case if this is a very recent problem. Is it a recent problem or an old one? On Mon, Aug 08, 2016 at 07:31:01PM +0000, Sean Bruno wrote: S> Author: sbruno S> Date: Mon Aug 8 19:31:01 2016 S> New Revision: 303848 S> URL: https://svnweb.freebsd.org/changeset/base/303848 S> S> Log: S> Avoid panic from ng_uncallout when unpluggin ethernet cable with active S> PPTP VPN connection. S> S> Submitted by: Michael Zhilin <mizhka@gmail.com> S> Reviewed by: ngie S> MFC after: 3 days S> Differential Revision: https://reviews.freebsd.org/D7209 S> S> Modified: S> head/sys/netgraph/ng_base.c S> S> Modified: head/sys/netgraph/ng_base.c S> ============================================================================== S> --- head/sys/netgraph/ng_base.c Mon Aug 8 18:57:50 2016 (r303847) S> +++ head/sys/netgraph/ng_base.c Mon Aug 8 19:31:01 2016 (r303848) S> @@ -3815,7 +3815,7 @@ ng_uncallout(struct callout *c, node_p n S> item = c->c_arg; S> /* Do an extra check */ S> if ((rval > 0) && (c->c_func == &ng_callout_trampoline) && S> - (NGI_NODE(item) == node)) { S> + (item != NULL) && (NGI_NODE(item) == node)) { S> /* S> * We successfully removed it from the queue before it ran S> * So now we need to unreference everything that was S> _______________________________________________ S> svn-src-all@freebsd.org mailing list S> https://lists.freebsd.org/mailman/listinfo/svn-src-all S> To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" -- Totus tuus, Glebius.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160812183845.GJ1076>