On Tue, Oct 27, 2015 at 04:52:18AM -0600, Martin Pieuchot wrote:
> CVSROOT:      /cvs
> Module name:  src
> Changes by:   m...@cvs.openbsd.org    2015/10/27 04:52:18
> 
> Modified files:
>       sys/net        : if.c pf.c 
>       sys/netinet6   : nd6.c 
> 
> Log message:
> Use rt_ifidx rather than rt_ifp.
> 
> ok bluhm@
> 

The return path introduced needs a splx.

Index: nd6.c
===================================================================
RCS file: /cvs/src/sys/netinet6/nd6.c,v
retrieving revision 1.163
diff -u -p -r1.163 nd6.c
--- nd6.c       27 Oct 2015 10:52:18 -0000      1.163
+++ nd6.c       28 Oct 2015 10:15:00 -0000
@@ -392,8 +392,10 @@ nd6_llinfo_timer(void *arg)
 
        if ((rt = ln->ln_rt) == NULL)
                panic("ln->ln_rt == NULL");
-       if ((ifp = if_get(rt->rt_ifidx)) == NULL)
+       if ((ifp = if_get(rt->rt_ifidx)) == NULL) {
+               splx(s);
                return;
+       }
        ndi = ND_IFINFO(ifp);
        dst = satosin6(rt_key(rt));

Reply via email to