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