Bug 64581

Summary: Xen guest page fault when passing PCI device with MSI-X to guest
Product: Drivers Reporter: Bjorn Helgaas (bjorn)
Component: PCIAssignee: drivers_pci (drivers_pci)
Status: NEW ---    
Severity: normal CC: konrad.wilk
Priority: P1    
Hardware: All   
OS: Linux   
URL: http://lkml.kernel.org/r/20131107014215.GA27725@andromeda.dapyr.net
Kernel Version: 3.12 Subsystem:
Regression: No Bisected commit-id:
Attachments: console log
patch

Description Bjorn Helgaas 2013-11-07 21:36:31 UTC
Created attachment 113781 [details]
console log

Konrad reported the crash below in a Xen guest (full console log attached).  He also supplied a patch to fix it, which I'll also attach.  This bugzilla is just for documentation purposes.

[    4.751156] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.0.5-k
[    4.751159] igb: Copyright (c) 2007-2013 Intel Corporation.
[    4.751358] igb 0000:00:00.0: enabling device (0000 -> 0002)
[    4.830711] igb 0000:00:00.0: Xen PCI mapped GSI16 to IRQ39
[    4.832317] BUG: unable to handle kernel paging request at ffffc9000030600c
[    4.832325] IP: [<ffffffff8135f83d>] pci_enable_msix+0x35d/0x400
[    4.832333] PGD 11f287067 PUD 11f288067 PMD 11f38c067 PTE 80100000fbc44465
[    4.832341] Oops: 0003 [#1] SMP

Entering kdb (current=0xffff88011c4b8ee0, pid 1164) on processor 0 Oops: (null)
due to oops @ 0xffffffff8135f83d
CPU: 0 PID: 1164 Comm: modprobe Not tainted 3.12.0upstream #1
task: ffff88011c4b8ee0 ti: ffff88010a7e4000 task.ti: ffff88010a7e4000
RIP: e030:[<ffffffff8135f83d>]  [<ffffffff8135f83d>] pci_enable_msix+0x35d/0x400
RSP: e02b:ffff88010a7e5a58  EFLAGS: 00010286
RAX: ffffc9000030600c RBX: ffff880006164d40 RCX: 0000000000000001
RDX: 00000000000c000a RSI: ffff880006da0200 RDI: ffff880006da0200
RBP: ffff88010a7e5ab8 R08: 000000009b808093 R09: 00000000527aee44
R10: 00000000000dc034 R11: 00000000000dc026 R12: 0000000000000000
R13: ffff880006c20600 R14: ffff88010a485000 R15: 0000000000000000
FS:  00007fac5f69a700(0000) GS:ffff88011f600000(0000) knlGS:0000000000000000
CS:  e033 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffff8000007de220 CR3: 0000000006e99000 CR4: 0000000000042660
Stack:
 ffff88010a7e5ab8 ffff88010a485798 ffff88010a485798 ffffc9000000000c
 00000010000080d0 c009ffff00000000 0000000000000000 ffff88011ccb8740
 0000000000000007 ffff88010a485000 ffff88011ccb8000 0000000000000000
Call Trace:
 [<ffffffffa005435e>] igb_init_interrupt_scheme+0xde/0x450 [igb]
 [<ffffffff816a8571>] ? kmemleak_alloc+0x21/0x50
 [<ffffffff81344925>] ? pci_bus_read_config_word+0x75/0x90
Comment 1 Bjorn Helgaas 2013-11-07 21:52:08 UTC
Created attachment 113791 [details]
patch

This patch is planned for v3.13.  It should appear in v3.13-rc1.
Comment 2 Konrad Rzeszutek Wilk 2013-11-07 22:16:04 UTC
Yeey! Thanks.