panic: if_attach called without if_alloc'd input()
Brooks Davis
brooks at one-eyed-alien.net
Tue Aug 9 18:16:02 GMT 2005
On Tue, Aug 09, 2005 at 08:54:21AM -0700, Darcy Buskermolen wrote:
> I'm getting the following panic on my RELENG_6 test box:
>
> xl1f0: BUG: if_attach called without if_alloc'd input()
>
> Where should I be looking to track this down? I suspect it has to do with a
> custom kernel, it wasn't doing it when i was running GENERIC
The ef(4) device is currently broken. I haven't had time to look at it
much though it seems mostly correct by inspection so I'm not sure what's
going on.
If you could compile with debugging and get be a stack trace from the
panic, that might help be track this down. I'm assuming there's a path
through the code that I'm missing that results in using a bogus cast to
get an ifnet pointer and thus causes a panic. You might also try the
following patch which fixes a couple bugs I think are unrelated, but may
not be.
-- Brooks
Index: if_ef.c
===================================================================
RCS file: /home/ncvs/src/sys/net/if_ef.c,v
retrieving revision 1.34
diff -u -p -r1.34 if_ef.c
--- if_ef.c 10 Jun 2005 16:49:18 -0000 1.34
+++ if_ef.c 26 Jul 2005 23:56:39 -0000
@@ -477,7 +477,7 @@ ef_clone(struct ef_link *efl, int ft)
efp->ef_pifp = ifp;
efp->ef_frametype = ft;
eifp = efp->ef_ifp = if_alloc(IFT_ETHER);
- if (ifp == NULL)
+ if (eifp == NULL)
return (ENOSPC);
snprintf(eifp->if_xname, IFNAMSIZ,
"%sf%d", ifp->if_xname, efp->ef_frametype);
@@ -536,8 +536,8 @@ ef_load(void)
SLIST_FOREACH(efl, &efdev, el_next) {
for (d = 0; d < EF_NFT; d++)
if (efl->el_units[d]) {
- if (efl->el_units[d]->ef_pifp != NULL)
- if_free(efl->el_units[d]->ef_pifp);
+ if (efl->el_units[d]->ef_ifp != NULL)
+ if_free(efl->el_units[d]->ef_ifp);
free(efl->el_units[d], M_IFADDR);
}
free(efl, M_IFADDR);
--
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20050809/b1bd7775/attachment.bin
More information about the freebsd-net
mailing list