Hi John,

one more thing that I noticed. It seems that the netmask passed to the
procedure rt_maskedcopy is invalid. Cannot dereference the pointer.

I went one frame up and I've looked at the control flow of the parent
routine rtrequest1_fib. This routine passes the netmask, but before it
does that it went with req=11 (RTM_RESOLVE) through this piece of code:

/usr/src/sys/net/route.c:985

case RTM_RESOLVE:
        if (ret_nrt == NULL || (rt = *ret_nrt) == NULL)
                  senderr(EINVAL);
        ifa = rt->rt_ifa;
        /* XXX locking? */
        flags = rt->rt_flags &
                ~(RTF_CLONING | RTF_STATIC);
        flags |= RTF_WASCLONED;
        gateway = rt->rt_gateway;
        if ((netmask = rt->rt_genmask) == NULL)
                flags |= RTF_HOST;
        goto makeroute;

Is this a locking problem?

--
Martin
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to