Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-7]: src/sys/net Pull up following revision(s) (requested by hsuen...



details:   https://anonhg.NetBSD.org/src/rev/8d2cb4379608
branches:  netbsd-7
changeset: 799407:8d2cb4379608
user:      msaitoh <msaitoh%NetBSD.org@localhost>
date:      Thu Jun 04 09:44:57 2015 +0000

description:
Pull up following revision(s) (requested by hsuenaga in ticket #822):
        sys/net/if_gif.c: revision 1.85
        sys/net/if_gif.c: revision 1.86
Obtain softnet_lock before entering IP networking stack from gif software
interrupt.
Include <sys/socketvar.h> for softnet_lock.

diffstat:

 sys/net/if_gif.c |  9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diffs (43 lines):

diff -r 2a02393e8703 -r 8d2cb4379608 sys/net/if_gif.c
--- a/sys/net/if_gif.c  Thu Jun 04 07:36:25 2015 +0000
+++ b/sys/net/if_gif.c  Thu Jun 04 09:44:57 2015 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_gif.c,v 1.83 2014/06/05 23:48:16 rmind Exp $        */
+/*     $NetBSD: if_gif.c,v 1.83.2.1 2015/06/04 09:44:57 msaitoh Exp $  */
 /*     $KAME: if_gif.c,v 1.76 2001/08/20 02:01:02 kjc Exp $    */
 
 /*
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.83 2014/06/05 23:48:16 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.83.2.1 2015/06/04 09:44:57 msaitoh Exp $");
 
 #include "opt_inet.h"
 
@@ -44,6 +44,7 @@
 #include <sys/errno.h>
 #include <sys/ioctl.h>
 #include <sys/time.h>
+#include <sys/socketvar.h>
 #include <sys/syslog.h>
 #include <sys/proc.h>
 #include <sys/protosw.h>
@@ -344,12 +345,16 @@
                switch (sc->gif_psrc->sa_family) {
 #ifdef INET
                case AF_INET:
+                       mutex_enter(softnet_lock);
                        error = in_gif_output(ifp, family, m);
+                       mutex_exit(softnet_lock);
                        break;
 #endif
 #ifdef INET6
                case AF_INET6:
+                       mutex_enter(softnet_lock);
                        error = in6_gif_output(ifp, family, m);
+                       mutex_exit(softnet_lock);
                        break;
 #endif
                default:



Home | Main Index | Thread Index | Old Index