Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 May 2009 17:36:18 +0200
From:      Martin <nakal@web.de>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: kernel trap 12 with interrupts disabled [bge0 on 7.2R]
Message-ID:  <20090515173618.78cca743@zelda.local>
In-Reply-To: <200905150815.19452.jhb@freebsd.org>
References:  <1696198956@web.de> <200905140916.40594.jhb@freebsd.org> <20090514191026.0a90dbfc@zelda.local> <200905150815.19452.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090515173618.78cca743>