Re: Oops at "NET: Registering protocol family 23" at boot with2.6.0t9-bk

From: Martin Diehl
Date: Mon Nov 03 2003 - 19:06:14 EST

On Sat, 1 Nov 2003, Stian Jordet wrote:

> NET: Registered protocol family 23
> Unable to handle kernel NULL pointer dereference at virtual address 00000004
> EIP is at dev_add_pack+0x4d/0xb0

which is at "next->prev = new" in __list_add_rcu()

> Call Trace:
> [<c05defad>] irda_init+0x3d/0x60
> [<c05c094c>] do_initcalls+0x2c/0xa0
> [<c01359af>] init_workqueues+0xf/0x24
> [<c01050f6>] init+0x56/0x180
> [<c01050a0>] init+0x0/0x180
> [<c01072b9>] kernel_thread_helper+0x5/0xc

Looks like irda_init is called before the ptype_base[] list heads are
initialized. I believe it was triggered by:

diff -Nru a/net/core/dev.c b/net/core/dev.c
--- a/net/core/dev.c Wed Oct 29 15:08:14 2003
+++ b/net/core/dev.c Wed Oct 29 15:08:14 2003
@@ -3023,7 +3023,7 @@
return rc;


from: cset-akpm@xxxxxxxx|ChangeSet|20031029192849|64746.txt

As a workaround you might want to make the irda modular instead of
build-in. But I'm just wondering why other protocols shouldn't have the
same problem. Maybe they are not subsys_initcall like af_irda.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at