panic : "Aiee, killing interrupt handler!" in net/core/dev.c.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

We know that in the linux kernel received network packets usually go
from the physical layer (let's say, etherenet drivers)
to netif_rx(struct sk_buff *skb) in net/core/dev.c.

This call usually happen in the interrupt handler in the ethrnet
driver ;
Just for exmaple, in the RTL 8139too driver, in rtl8139_rx_interrupt()
there is a
call to netif_rx().  In eeproo100.c (Intel Ethernet driver for Linux.)
it is in speedo_rx() method.

Now I want to monitor (and filter in the future) UDP packets in this
netif_rx()
method (ot net/core/dev.c)  ; so I added this 2 lines in this method:
if (skb && skb->nh.iph && skb->nh.iph->protocol == IPPROTO_UDP)
       {
       printk(KERN_INFO "in if (skb && ... == IPPROTO_UDP)");
       }

I had build the kernel and rebooted;  I reached the console ok ; I also

verified that sending UDP packets is OK.
But when I started X I got a kernel panic. Any idea what can be the
reason ?
(The message was:
	Kernel panic: Aiee, killing interrupt handler!
	In interrupt handler - not syncing)

Any idea why this panic is caused after starting "X"?

(and BTW ,my added 2 lines of code are after local_irq_save(flags) in
netif_rx())

Regards,
John

_________________________________________________________________
FREE pop-up blocking with the new MSN Toolbar - get it now! http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/


--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux