Module Name: src
Committed By: bouyer
Date: Thu Mar 15 11:27:25 UTC 2018
Modified Files:
src/sys/netinet6 [netbsd-8]: in6_gif.c
Log Message:
Pull up following revision(s) (requested by knakahara in ticket #632):
sys/netinet6/in6_gif.c: revision 1.91
Fix error checking in in6_gif_ctlinput().
if_gif.c:r1.133 introduces gif_update_variant() which ensure ifp->if_flags
is set IFF_RUNNING when gif_softc->gif_var->gv_{psrc,pdst} are not null.
So, in6_gif_ctlinput() is not required IFF_RUNNING checking. In contrast,
it is required gv_{psrc,pdst} NULL checking.
To generate a diff of this commit:
cvs rdiff -u -r1.85.6.4 -r1.85.6.5 src/sys/netinet6/in6_gif.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/netinet6/in6_gif.c
diff -u src/sys/netinet6/in6_gif.c:1.85.6.4 src/sys/netinet6/in6_gif.c:1.85.6.5
--- src/sys/netinet6/in6_gif.c:1.85.6.4 Sun Feb 11 21:17:34 2018
+++ src/sys/netinet6/in6_gif.c Thu Mar 15 11:27:25 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: in6_gif.c,v 1.85.6.4 2018/02/11 21:17:34 snj Exp $ */
+/* $NetBSD: in6_gif.c,v 1.85.6.5 2018/03/15 11:27:25 bouyer Exp $ */
/* $KAME: in6_gif.c,v 1.62 2001/07/29 04:27:25 itojun Exp $ */
/*
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: in6_gif.c,v 1.85.6.4 2018/02/11 21:17:34 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: in6_gif.c,v 1.85.6.5 2018/03/15 11:27:25 bouyer Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -459,9 +459,11 @@ in6_gif_ctlinput(int cmd, const struct s
if (!ip6)
return NULL;
- if ((sc->gif_if.if_flags & IFF_RUNNING) == 0)
- return NULL;
var = gif_getref_variant(sc, &psref);
+ if (var->gv_psrc == NULL || var->gv_pdst == NULL) {
+ gif_putref_variant(var, &psref);
+ return NULL;
+ }
if (var->gv_psrc->sa_family != AF_INET6) {
gif_putref_variant(var, &psref);
return NULL;