On Mon, Nov 28, 2016 at 03:36:04PM +0100, Martin Pieuchot wrote:
> This is now always called at IPL_SOFTNET, so assert it.
>
> ok?
OK bluhm@
>
> Index: net/route.c
> ===================================================================
> RCS file: /cvs/src/sys/net/route.c,v
> retrieving revision 1.339
> diff -u -p -r1.339 route.c
> --- net/route.c 21 Nov 2016 10:30:42 -0000 1.339
> +++ net/route.c 28 Nov 2016 14:29:04 -0000
> @@ -237,9 +237,10 @@ struct rtentry *
> rt_match(struct sockaddr *dst, uint32_t *src, int flags, unsigned int
> tableid)
> {
> struct rtentry *rt0, *rt = NULL;
> - int s, error = 0;
> + int error = 0;
> +
> + splsoftassert(IPL_SOFTNET);
>
> - s = splsoftnet();
> rt = rtable_match(tableid, dst, src);
> if (rt != NULL) {
> if ((rt->rt_flags & RTF_CLONING) && ISSET(flags, RT_RESOLVE)) {
> @@ -266,7 +267,6 @@ rt_match(struct sockaddr *dst, uint32_t
> rt->rt_use++;
> } else
> rtstat.rts_unreach++;
> - splx(s);
> return (rt);
> }
>