Hi ,
I am trying to understand whether there is any context (thread wise)
involved when I do alloc_skb.
I have a kernel module that runs a kernel thread. (2.4.18 , regular PC with
2 ethernet interfaces)
That thread generates an ICMP packet every 50 milisec. It does it as
follows:
- call to alloc_skb
- fill ip header and icmp header
- fill in the necessary skb fields
- call to ip_rcv to inject the packet into the stack
Al of that worked just fine , and I was able to inspect the outgoing packets
through ethereal.
The problem occured while I did a rmmod for that module - the machine just
crashed (reset )
After spending some time in debugging this problem , I added a short delay
at my exit function before
the stop thread call. I have discovered that the last call to __kfree_skb
from net_tx_action must come while
my kernel thread is still alive .
I am trying to understand why is it so . Is there any importance to the
context that had performed the alloc ?
Thanks for any tip,
Chava
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]