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


[Xen-bugs] [Bug 915] New: VPCI crashes domU kernel with dedicated NIC wh

To: xen-bugs@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-bugs] [Bug 915] New: VPCI crashes domU kernel with dedicated NIC when changing MTU to 9000
From: bugzilla-daemon@xxxxxxxxxxxxxxxxxxx
Date: Sun, 4 Mar 2007 17:14:41 -0800
Delivery-date: Sun, 04 Mar 2007 17:15:35 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-bugs-request@lists.xensource.com?subject=help>
List-id: Xen Bugzilla <xen-bugs.lists.xensource.com>
List-post: <mailto:xen-bugs@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-bugs>, <mailto:xen-bugs-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-bugs>, <mailto:xen-bugs-request@lists.xensource.com?subject=unsubscribe>
Reply-to: bugs@xxxxxxxxxxxxxxxxxx
Sender: xen-bugs-bounces@xxxxxxxxxxxxxxxxxxx

           Summary: VPCI crashes domU kernel with dedicated NIC when
                    changing MTU to 9000
           Product: Xen
           Version: 3.0.4
          Platform: x86-64
        OS/Version: Linux-2.6
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Guest-OS
        AssignedTo: xen-bugs@xxxxxxxxxxxxxxxxxxx
        ReportedBy: jan.oravec@xxxxxxx

I have tried to give domU NIC thru virtual PCI. When I try to change MTU to
9000, domU crashes with following OOPS:

----------- [cut here ] --------- [please bite here ] ---------
Kernel BUG at arch/x86_64/kernel/../../i386/kernel/pci-dma-xen.c:342
invalid opcode: 0000 [1] 
CPU 0 
Pid: 25747, comm: ip Not tainted 2.6.19-gentoo-r5 #9
RIP: e030:[<ffffffff8026b012>]  [<ffffffff8026b012>] dma_map_single+0x162/0x1e0
RSP: e02b:ffff88001f7b7ca8  EFLAGS: 00010296
RAX: 000000000000002f RBX: ffff88001c770012 RCX: 0000000000000000
RDX: ffffffffff57c000 RSI: 0000000000003640 RDI: 0000000000000000
RBP: 0000000189029012 R08: 0000000000003614 R09: 0000000000000000
R10: ffff88000764adc0 R11: 0000000000000000 R12: 0000000000002396
R13: ffff880000038070 R14: ffff88001f530000 R15: 0000000000000000
FS:  00002b3c56630ae0(0000) GS:ffffffff8056e000(0000) knlGS:0000000000000000
CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000000 CR3: 000000001f564000 CR4: 0000000000000660
Process ip (pid: 25747, threadinfo ffff88001f7b6000, task ffff88000001ce60)
Stack:  0000000000002398 ffff88000764adc0 ffff880000861400 ffff88001f5d8000
 0000000000002398 ffffffff803b64b8 ffff880000861400 0000000000000000
 ffff880000861400 0000000000000000 ffff880000861400 ffff880000026400
Call Trace:
 [<ffffffff803b64b8>] tg3_alloc_rx_skb+0x128/0x180
 [<ffffffff803b6903>] tg3_reset_hw+0x233/0x14b0
 [<ffffffff803b5d09>] tg3_set_power_state+0xa9/0x730
 [<ffffffff803b3449>] tg3_switch_clocks+0x19/0xd0
 [<ffffffff803b7f46>] tg3_restart_hw+0x16/0x80
 [<ffffffff803c0d56>] tg3_change_mtu+0x1b6/0x210
 [<ffffffff803e267f>] dev_set_mtu+0x2f/0x70
 [<ffffffff803a6e7c>] bond_change_mtu+0x3c/0xb0
 [<ffffffff803e267f>] dev_set_mtu+0x2f/0x70
 [<ffffffff803e4539>] dev_ioctl+0x269/0x320
 [<ffffffff8020ba67>] do_page_fault+0xf77/0x1380
 [<ffffffff80223b80>] d_alloc+0xb0/0x1c0
 [<ffffffff803dc06a>] sock_ioctl+0x1da/0x200
 [<ffffffff8024216b>] do_ioctl+0x1b/0x60
 [<ffffffff8023143f>] vfs_ioctl+0x23f/0x260
 [<ffffffff8024c369>] sys_ioctl+0x49/0x80
 [<ffffffff80261ff7>] error_exit+0x0/0x5d
 [<ffffffff8025cb65>] system_call+0x75/0x7a
 [<ffffffff8025caf0>] system_call+0x0/0x7a

Code: 0f 0b 68 98 69 4d 80 c2 56 01 66 66 66 90 4d 85 ed 74 1b 49 
RIP  [<ffffffff8026b012>] dma_map_single+0x162/0x1e0
 RSP <ffff88001f7b7ca8>
 <0>Kernel panic - not syncing: Aiee, killing interrupt handler!

When I try it in dom0, everything works. domU is 2.6.19 (RedHat patches),
hypervisor is 3.0.4.

The tg3 driver does this DMA:

        mapping = pci_map_single(tp->pdev, skb->data,
                                 skb_size - tp->rx_offset,

I think that the problem may be related to skb->data crossing page boundaries
with ethernet jumbo frames.

I am not sure whether this affects only RedHat's 2.6.19 or also 2.6.18 from

Configure bugmail: 
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Xen-bugs mailing list

<Prev in Thread] Current Thread [Next in Thread>