[lkml]   [2001]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [BUG()] IrDA in 2.4.16 + preempt
On Mon, Dec 17, 2001 at 10:28:45AM +0100, Martin Diehl wrote:
> [Jean added to CC]
> On Fri, 14 Dec 2001, Pawel Kot wrote:
> > I found an annoying problem with irda on 2.4.16.
> > When I remove irlan module I get sementation fault:
> > root@blurp:~# rmmod irlan
> > Dec 14 02:27:35 blurp kernel: kernel BUG at slab.c:1200!
> > Dec 14 02:27:35 blurp kernel: invalid operand: 0000
> > Dec 14 02:27:35 blurp kernel: CPU: 0
> > Dec 14 02:27:35 blurp kernel: EIP: 0010:[kmem_extra_free_checks+81/140] Not tainted
> [...]
> > Dec 14 02:27:35 blurp kernel: Process rmmod (pid: 110, stackpage=cc045000)
> [..]
> > Dec 14 02:27:35 blurp kernel: Call Trace:

Where is this comming from ? Was it sent to the IrDA mailing list ?

> [kfree+450/576]
> [netdev_finish_unregister+145/152]
> [unregister_netdevice+451/632]
> [unregister_netdev+16/40]
> Seems some inconsistency in the way how the irlan netdev is handled:
> having NETIF_F_DYNALLOC set for a netdev which is not allocated as an
> independent object doesn't seem to be a good idea to me ;-)
> The patch below simply removes NETIF_F_DYNALLOC just before calling
> unregister_netdev() und should fix the issue. It's untested however,
> since I'm unable to reproduce the Oops on UP without preempt (but it
> should be there as well, due to ipfrag_time for example). At least it
> compiles and doesn't do any harm to me.

Why don't you just fix irlan_eth_init() ? The NETIF_F_DYNALLOC
is only used in the unregister_netdevice() functions (check your
kernel), so it's cleaner to never set the flag in the first place.

Also : I suspect the Dag added this flag as a workaround for
some refcount problem, because with it the code does one more unref
that without. So, I suspect the refcount is broken. By the way, this
flag doesn't change the behaviour as far as waiting for people that
hold some refcount on the device.

> IMHO, retiring dynalloc is just some sort of band-aid because I do
> believe, using it would be a good idea - but would need some more
> changes for irlan.

No, that the right way. NETIF_F_DYNALLOC is only ever used for
that. One the other hand, you might need to fix the refcount.

> Btw., I'm not sure about the status of irlan - I'm only using ppp over
> ircomm or irnet.

Same for me.

> Martin

Have fun...

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

 \ /
  Last update: 2005-03-22 13:18    [W:0.101 / U:4.372 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site