Re: gre(4) needs the NET_LOCK()

2016-12-19 Thread Alexander Bluhm
On Mon, Dec 19, 2016 at 11:54:43AM +0100, Martin Pieuchot wrote:
> Sending keep alive ends up in ip_output(), so it needs the NET_LOCK().
> 
> ok?

OK bluhm@

> 
> Index: net/if_gre.c
> ===
> RCS file: /cvs/src/sys/net/if_gre.c,v
> retrieving revision 1.81
> diff -u -p -r1.81 if_gre.c
> --- net/if_gre.c  16 Nov 2016 14:50:13 -  1.81
> +++ net/if_gre.c  19 Dec 2016 10:38:00 -
> @@ -662,10 +662,10 @@ gre_send_keepalive(void *arg)
>   bzero(, sizeof(dst));
>   dst.sa_family = AF_INET;
>  
> - s = splsoftnet();
> + NET_LOCK(s);
>   /* should we care about the error? */
>   gre_output(>sc_if, m, , NULL);
> - splx(s);
> + NET_UNLOCK(s);
>  }
>  
>  void



gre(4) needs the NET_LOCK()

2016-12-19 Thread Martin Pieuchot
Sending keep alive ends up in ip_output(), so it needs the NET_LOCK().

ok?

Index: net/if_gre.c
===
RCS file: /cvs/src/sys/net/if_gre.c,v
retrieving revision 1.81
diff -u -p -r1.81 if_gre.c
--- net/if_gre.c16 Nov 2016 14:50:13 -  1.81
+++ net/if_gre.c19 Dec 2016 10:38:00 -
@@ -662,10 +662,10 @@ gre_send_keepalive(void *arg)
bzero(, sizeof(dst));
dst.sa_family = AF_INET;
 
-   s = splsoftnet();
+   NET_LOCK(s);
/* should we care about the error? */
gre_output(>sc_if, m, , NULL);
-   splx(s);
+   NET_UNLOCK(s);
 }
 
 void