Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Feb 2016 13:50:09 +1100
From:      Kubilay Kocak <koobs@FreeBSD.org>
To:        Devin Teske <dteske@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r295529 - in head/sys: net netinet netinet6
Message-ID:  <9afffb16-f65f-0ac7-fdb5-c92a1494a59e@FreeBSD.org>
In-Reply-To: <201602111707.u1BH7JIw040816@repo.freebsd.org>
References:  <201602111707.u1BH7JIw040816@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12/02/2016 4:07 AM, Devin Teske wrote:
> Author: dteske
> Date: Thu Feb 11 17:07:19 2016
> New Revision: 295529
> URL: https://svnweb.freebsd.org/changeset/base/295529
> 
> Log:
>   Merge SVN r295220 (bz) from projects/vnet/
>   
>   Fix a panic that occurs when a vnet interface is unavailable at the time the
>   vnet jail referencing said interface is stopped.
>   
>   Sponsored by:	FIS Global, Inc.


Was/is there a bugzilla issue for this?

Also, MFC and/or re (10.3-R) candidate?

> Modified:
>   head/sys/net/route.c
>   head/sys/netinet/in_rmx.c
>   head/sys/netinet6/in6_rmx.c
> Directory Properties:
>   head/   (props changed)
>   head/sys/   (props changed)
> 
> Modified: head/sys/net/route.c
> ==============================================================================
> --- head/sys/net/route.c	Thu Feb 11 16:54:23 2016	(r295528)
> +++ head/sys/net/route.c	Thu Feb 11 17:07:19 2016	(r295529)
> @@ -353,10 +353,24 @@ rt_table_init(int offset)
>  	return (rh);
>  }
>  
> +static int
> +rt_freeentry(struct radix_node *rn, void *arg)
> +{
> +	struct radix_head * const rnh = arg;
> +	struct radix_node *x;
> +
> +	x = (struct radix_node *)rn_delete(rn + 2, NULL, rnh);
> +	if (x != NULL)
> +		R_Free(x);
> +	return (0);
> +}
> +
>  void
>  rt_table_destroy(struct rib_head *rh)
>  {
>  
> +	rn_walktree(&rh->rmhead.head, rt_freeentry, &rh->rmhead.head);
> +
>  	/* Assume table is already empty */
>  	rw_destroy(&rh->rib_lock);
>  	free(rh, M_RTABLE);
> 
> Modified: head/sys/netinet/in_rmx.c
> ==============================================================================
> --- head/sys/netinet/in_rmx.c	Thu Feb 11 16:54:23 2016	(r295528)
> +++ head/sys/netinet/in_rmx.c	Thu Feb 11 17:07:19 2016	(r295529)
> @@ -133,7 +133,8 @@ int
>  in_detachhead(void **head, int off)
>  {
>  
> -	return (rn_detachhead(head));
> +	rt_table_destroy((struct rib_head *)(*head));
> +	return (1);
>  }
>  #endif
>  
> 
> Modified: head/sys/netinet6/in6_rmx.c
> ==============================================================================
> --- head/sys/netinet6/in6_rmx.c	Thu Feb 11 16:54:23 2016	(r295528)
> +++ head/sys/netinet6/in6_rmx.c	Thu Feb 11 17:07:19 2016	(r295529)
> @@ -237,7 +237,9 @@ in6_detachhead(void **head, int off)
>  {
>  
>  	callout_drain(&V_rtq_mtutimer);
> -	return (rn_detachhead(head));
> +	rt_table_destroy((struct rib_head *)(*head));
> +
> +	return (1);
>  }
>  #endif
>  
> _______________________________________________
> svn-src-head@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-src-head
> To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org"
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9afffb16-f65f-0ac7-fdb5-c92a1494a59e>