Skip site navigation (1)Skip section navigation (2)
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>