This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] kernel oops/IRQ exception when networking between many d

On 5 Jun 2005, at 17:57, Birger Toedtmann wrote:

Apparently it is happening somewhere here:

0xc028cbe5 <net_rx_action+1135>:        test   %eax,%eax
0xc028cbe7 <net_rx_action+1137>: je 0xc028ca82 <net_rx_action+780>
0xc028cbed <net_rx_action+1143>:        mov    %esi,%eax
0xc028cbef <net_rx_action+1145>:        shr    $0xc,%eax
0xc028cbf2 <net_rx_action+1148>:        mov    %eax,(%esp)
0xc028cbf5 <net_rx_action+1151>:        call   0xc028c4c4 <free_mfn>
0xc028cbfa <net_rx_action+1156>:        mov    $0xffffffff,%ecx

Most likely the driver has tried to send a bogus page to a domU. Because it's bogus the transfer fails. The driver then tries to free the page back to Xen, but that also fails because the page is bogus. This confuses the driver, which then BUG()s out.

It's not at all clear where the bogus address comes from: the driver basically just reads the address out of an skbuff, and converts it from virtual to physical address. But something is obviously going wrong, perhaps under memory pressure. :-(

 -- Keir

Xen-devel mailing list