I attached gdb to the VM[*] and retrieved the following backtrace from the guest kernel:
(gdb) bt full
#0 pci_conf1_read (seg=<optimized out>, bus=<optimized out>, devfn=<optimized out>, reg=16, len=4, value=0xffffc9000001fa0c) at /home/dannf/linux-kvm-5.4.0/arch/x86/pci/direct.c:35
flags = 582
__dummy = <optimized out>
__dummy2 = <optimized out>
__dummy = <optimized out>
__dummy2 = <optimized out>
#1 0xffffffff815a1964 in raw_pci_read (domain=<optimized out>, bus=<optimized out>, devfn=<optimized out>, reg=<optimized out>, len=<optimized out>, val=<optimized out>) at /home/dannf/linux-kvm-5.4.0/arch/x86/pci/common.c:46
No locals.
#2 0xffffffff815a19a7 in pci_read (bus=<optimized out>, devfn=<optimized out>, where=<optimized out>, size=<optimized out>, value=<optimized out>) at /home/dannf/linux-kvm-5.4.0/arch/x86/include/asm/pci.h:45
No locals.
#3 0xffffffff8144f4c5 in pci_bus_read_config_dword (bus=<optimized out>, devfn=<optimized out>, pos=<optimized out>, value=0xffffc9000001fa58) at /home/dannf/linux-kvm-5.4.0/drivers/pci/access.c:65
res = -2147480816
flags = <optimized out>
data = 0
#4 0xffffffff8144f7f2 in pci_read_config_dword (dev=<optimized out>, where=<optimized out>, val=<optimized out>) at /home/dannf/linux-kvm-5.4.0/drivers/pci/access.c:550
No locals.
#5 0xffffffff8145142a in __pci_read_base (dev=0xffff888000d8d000, type=pci_bar_unknown, res=0xffff888000d8d278, pos=16) at /home/dannf/linux-kvm-5.4.0/drivers/pci/probe.c:196
l = 0
sz = 0
mask = <optimized out>
l64 = <optimized out>
sz64 = <optimized out>
mask64 = <optimized out>
orig_cmd = 7
region = {start = 18446683600570153584, end = 18446744071584749924} inverted_region = {start = 18446683600570153600, end = 18446744071584749991}
#6 0xffffffff81451757 in pci_read_bases (dev=0xffff888000d8d000, howmany=2, rom=56) at /home/dannf/linux-kvm-5.4.0/drivers/pci/probe.c:334
res = <optimized out>
pos = 0
reg = <optimized out>
res = <optimized out>
#7 0xffffffff81451dd4 in pci_setup_device (dev=0xffff888000d8d000) at /home/dannf/linux-kvm-5.4.0/drivers/pci/probe.c:1854
class = 1540
cmd = 34750
hdr_type = <optimized out>
pos = <optimized out>
region = {start = 18446683600670950407, end = 18446744071583369946}
res = <optimized out>
#8 0xffffffff81452950 in pci_scan_device (devfn=<optimized out>, bus=<optimized out>) at /home/dannf/linux-kvm-5.4.0/drivers/pci/probe.c:2301
dev = 0xffff888000d8d000
l = 793398
dev = <optimized out>
l = <optimized out>
#9 pci_scan_single_device (devfn=<optimized out>, bus=<optimized out>) at /home/dannf/linux-kvm-5.4.0/drivers/pci/probe.c:2474
dev = <optimized out>
dev = <optimized out>
#10 pci_scan_single_device (bus=0xffff888000c76c00, devfn=11) at /home/dannf/linux-kvm-5.4.0/drivers/pci/probe.c:2464
dev = 0x0 <fixed_percpu_data>
#11 0xffffffff81452a02 in pci_scan_slot (bus=0xffff888000c76c00, devfn=8) at /home/dannf/linux-kvm-5.4.0/drivers/pci/probe.c:2560
fn = 3
nr = 3
dev = <optimized out>
#12 0xffffffff81453a71 in pci_scan_child_bus_extend (bus=0xffff888000c76c00, available_buses=<optimized out>) at /home/dannf/linux-kvm-5.4.0/drivers/pci/probe.c:2770
used_buses = <optimized out> normal_bridges = <optimized out> hotplug_bridges = <optimized out>
start = <optimized out>
devfn = 16
fn = <optimized out>
cmax = <optimized out>
max = <optimized out>
dev = <optimized out>
nr_devs = <optimized out>
__mptr = <optimized out>
#13 0xffffffff81453c6b in pci_scan_child_bus (bus=<optimized out>) at /home/dannf/linux-kvm-5.4.0/drivers/pci/probe.c:2900
No locals.
#14 0xffffffff814896df in acpi_pci_root_create (root=<optimized out>, ops=<optimized out>, info=0xffff8880001e5600, sysdata=<optimized out>) at /home/dannf/linux-kvm-5.4.0/drivers/acpi/pci_root.c:931
ret = <optimized out>
busnum = <optimized out>
device = <optimized out>
node = <optimized out>
bus = 0xffff888000c76c00
host_bridge = <optimized out>
obj = <optimized out>
#15 0xffffffff815a0c00 in pci_acpi_scan_root (root=0xffff888000091b00) at /home/dannf/linux-kvm-5.4.0/arch/x86/pci/acpi.c:368
info = <optimized out>
domain = 0
busnum = <optimized out>
node = <optimized out>
bus = 0xffff8880001e5600
#16 0xffffffff814893be in acpi_pci_root_add (device=0xffff888000c78000, not_used=<optimized out>) at /home/dannf/linux-kvm-5.4.0/drivers/acpi/pci_root.c:603
segment = 0
bus = 18446744071594171520
status = <optimized out>
result = <optimized out>
root = <optimized out>
handle = 0xffff888000d121e0
no_aspm = 0
hotadd = <optimized out>
is_pcie = <optimized out>
#17 0xffffffff81482cd9 in acpi_scan_attach_handler (device=<optimized out>) at /home/dannf/linux-kvm-5.4.0/drivers/acpi/scan.c:1985
devid = 0xffffffff81ca77c0 <root_device_ids>
handler = <optimized out>
hwid = 0xffff8880001f21c0
ret = <optimized out>
hwid = <optimized out>
ret = <optimized out>
__mptr = <optimized out>
devid = <optimized out>
handler = <optimized out>
__mptr = <optimized out>
#18 acpi_bus_attach (device=0xffff888000c78000) at /home/dannf/linux-kvm-5.4.0/drivers/acpi/scan.c:2029
child = <optimized out>
ejd = 0xffff888000c79890
ret = <optimized out>
#19 0xffffffff81482c48 in acpi_bus_attach (device=0xffff888000c79800) at /home/dannf/linux-kvm-5.4.0/drivers/acpi/scan.c:2050
child = 0xffff888000c78000
ejd = 0xffff888000c7a090
ret = <optimized out>
#20 0xffffffff81482c48 in acpi_bus_attach (device=0xffff888000c7a000) at /home/dannf/linux-kvm-5.4.0/drivers/acpi/scan.c:2050
child = 0xffff888000c79800
ejd = 0x0 <fixed_percpu_data>
ret = <optimized out>
#21 0xffffffff81484bc3 in acpi_bus_scan (handle=0xffffffffffffffff) at /home/dannf/linux-kvm-5.4.0/drivers/acpi/scan.c:2102
device = 0xffff888000c7a000
#22 0xffffffff81f6dbfb in acpi_scan_init () at /home/dannf/linux-kvm-5.4.0/drivers/acpi/scan.c:2262
result = 0
status = <optimized out>
stao_ptr = 0x0 <fixed_percpu_data>
#23 0xffffffff81f6d92a in acpi_init () at /home/dannf/linux-kvm-5.4.0/drivers/acpi/bus.c:1249
result = <optimized out>
__func__ = "acpi_init"
#24 0xffffffff81000bc1 in do_one_initcall (fn=0xffffffff81f6d68c <acpi_init>) at /home/dannf/linux-kvm-5.4.0/init/main.c:941
count = <optimized out>
msgbuf = "\000:ہ\377\377\377\377\004\000\004\000\277\000\000\000\250Xہ\377\377\377\377\201\307\006z\200\210\377\377\207\307\006z\200\210\377\377\000P(joZ\236\301\004\000\000\000\000\000\000\000\277\000\000\000\000\000\000"
ret = -2113897520
#25 0xffffffff81f2f208 in do_initcall_level (level=<optimized out>) at /home/dannf/linux-kvm-5.4.0/include/linux/compiler.h:377
fn = 0xffffffff82007bd0
fn = <optimized out>
#26 do_initcalls () at /home/dannf/linux-kvm-5.4.0/init/main.c:1017
level = <optimized out>
level = <optimized out>
#27 do_basic_setup () at /home/dannf/linux-kvm-5.4.0/init/main.c:1034
No locals.
#28 kernel_init_freeable () at /home/dannf/linux-kvm-5.4.0/init/main.c:1195
No locals.
#29 0xffffffff8174d4c9 in kernel_init (unused=<optimized out>) at /home/dannf/linux-kvm-5.4.0/init/main.c:1112
ret = <optimized out>
#30 0xffffffff81800215 in ret_from_fork () at /home/dannf/linux-kvm-5.4.0/arch/x86/entry/entry_64.S:352
[*] lxc uses images with the -kvm variant kernel, which does not include debug symbols (bug 1935855). So this is actually from a local rebuild w/ CONFIG_DEBUG_INFO=y. Also, since lxc launches guests w/ Secure Boot enabled, I loaded a custom cert into the UEFI DB and self-signed my build.
I attached gdb to the VM[*] and retrieved the following backtrace from the guest kernel:
(gdb) bt full 00001fa0c) at /home/dannf/ linux-kvm- 5.4.0/arch/ x86/pci/ direct. c:35 linux-kvm- 5.4.0/arch/ x86/pci/ common. c:46 linux-kvm- 5.4.0/arch/ x86/include/ asm/pci. h:45 read_config_ dword (bus=<optimized out>, devfn=<optimized out>, pos=<optimized out>, value=0xffffc90 00001fa58) at /home/dannf/ linux-kvm- 5.4.0/drivers/ pci/access. c:65 config_ dword (dev=<optimized out>, where=<optimized out>, val=<optimized out>) at /home/dannf/ linux-kvm- 5.4.0/drivers/ pci/access. c:550 00d8d000, type=pci_ bar_unknown, res=0xffff88800 0d8d278, pos=16) at /home/dannf/ linux-kvm- 5.4.0/drivers/ pci/probe. c:196 53584, end = 184467440715847 49924}
inverted_ region = {start = 184466836005701 53600, end = 184467440715847 49991} 00d8d000, howmany=2, rom=56) at /home/dannf/ linux-kvm- 5.4.0/drivers/ pci/probe. c:334 00d8d000) at /home/dannf/ linux-kvm- 5.4.0/drivers/ pci/probe. c:1854 50407, end = 184467440715833 69946} linux-kvm- 5.4.0/drivers/ pci/probe. c:2301 single_ device (devfn=<optimized out>, bus=<optimized out>) at /home/dannf/ linux-kvm- 5.4.0/drivers/ pci/probe. c:2474 single_ device (bus=0xffff8880 00c76c00, devfn=11) at /home/dannf/ linux-kvm- 5.4.0/drivers/ pci/probe. c:2464 00c76c00, devfn=8) at /home/dannf/ linux-kvm- 5.4.0/drivers/ pci/probe. c:2560 child_bus_ extend (bus=0xffff8880 00c76c00, available_ buses=< optimized out>) at /home/dannf/ linux-kvm- 5.4.0/drivers/ pci/probe. c:2770
normal_ bridges = <optimized out>
hotplug_ bridges = <optimized out> linux-kvm- 5.4.0/drivers/ pci/probe. c:2900 root_create (root=<optimized out>, ops=<optimized out>, info=0xffff8880 001e5600, sysdata=<optimized out>) at /home/dannf/ linux-kvm- 5.4.0/drivers/ acpi/pci_ root.c: 931 000091b00) at /home/dannf/ linux-kvm- 5.4.0/arch/ x86/pci/ acpi.c: 368 0xffff888000c78 000, not_used=<optimized out>) at /home/dannf/ linux-kvm- 5.4.0/drivers/ acpi/pci_ root.c: 603 71520 attach_ handler (device=<optimized out>) at /home/dannf/ linux-kvm- 5.4.0/drivers/ acpi/scan. c:1985 0xffff888000c78 000) at /home/dannf/ linux-kvm- 5.4.0/drivers/ acpi/scan. c:2029 0xffff888000c79 800) at /home/dannf/ linux-kvm- 5.4.0/drivers/ acpi/scan. c:2050 0xffff888000c7a 000) at /home/dannf/ linux-kvm- 5.4.0/drivers/ acpi/scan. c:2050 0xfffffffffffff fff) at /home/dannf/ linux-kvm- 5.4.0/drivers/ acpi/scan. c:2102 linux-kvm- 5.4.0/drivers/ acpi/scan. c:2262 linux-kvm- 5.4.0/drivers/ acpi/bus. c:1249 1f6d68c <acpi_init>) at /home/dannf/ linux-kvm- 5.4.0/init/ main.c: 941 377\377\ 377\377\ 004\000\ 004\000\ 277\000\ 000\000\ 250Xہ\377\ 377\377\ 377\201\ 307\006z\ 200\210\ 377\377\ 207\307\ 006z\200\ 210\377\ 377\000P( joZ\236\ 301\004\ 000\000\ 000\000\ 000\000\ 000\277\ 000\000\ 000\000\ 000\000" linux-kvm- 5.4.0/include/ linux/compiler. h:377 linux-kvm- 5.4.0/init/ main.c: 1017 linux-kvm- 5.4.0/init/ main.c: 1034 init_freeable () at /home/dannf/ linux-kvm- 5.4.0/init/ main.c: 1195 linux-kvm- 5.4.0/init/ main.c: 1112 linux-kvm- 5.4.0/arch/ x86/entry/ entry_64. S:352
#0 pci_conf1_read (seg=<optimized out>, bus=<optimized out>, devfn=<optimized out>, reg=16, len=4, value=0xffffc90
flags = 582
__dummy = <optimized out>
__dummy2 = <optimized out>
__dummy = <optimized out>
__dummy2 = <optimized out>
#1 0xffffffff815a1964 in raw_pci_read (domain=<optimized out>, bus=<optimized out>, devfn=<optimized out>, reg=<optimized out>, len=<optimized out>, val=<optimized out>) at /home/dannf/
No locals.
#2 0xffffffff815a19a7 in pci_read (bus=<optimized out>, devfn=<optimized out>, where=<optimized out>, size=<optimized out>, value=<optimized out>) at /home/dannf/
No locals.
#3 0xffffffff8144f4c5 in pci_bus_
res = -2147480816
flags = <optimized out>
data = 0
#4 0xffffffff8144f7f2 in pci_read_
No locals.
#5 0xffffffff8145142a in __pci_read_base (dev=0xffff8880
l = 0
sz = 0
mask = <optimized out>
l64 = <optimized out>
sz64 = <optimized out>
mask64 = <optimized out>
orig_cmd = 7
region = {start = 184466836005701
#6 0xffffffff81451757 in pci_read_bases (dev=0xffff8880
res = <optimized out>
pos = 0
reg = <optimized out>
res = <optimized out>
#7 0xffffffff81451dd4 in pci_setup_device (dev=0xffff8880
class = 1540
cmd = 34750
hdr_type = <optimized out>
pos = <optimized out>
region = {start = 184466836006709
res = <optimized out>
#8 0xffffffff81452950 in pci_scan_device (devfn=<optimized out>, bus=<optimized out>) at /home/dannf/
dev = 0xffff888000d8d000
l = 793398
dev = <optimized out>
l = <optimized out>
#9 pci_scan_
dev = <optimized out>
dev = <optimized out>
#10 pci_scan_
dev = 0x0 <fixed_percpu_data>
#11 0xffffffff81452a02 in pci_scan_slot (bus=0xffff8880
fn = 3
nr = 3
dev = <optimized out>
#12 0xffffffff81453a71 in pci_scan_
used_buses = <optimized out>
start = <optimized out>
devfn = 16
fn = <optimized out>
cmax = <optimized out>
max = <optimized out>
dev = <optimized out>
nr_devs = <optimized out>
__mptr = <optimized out>
#13 0xffffffff81453c6b in pci_scan_child_bus (bus=<optimized out>) at /home/dannf/
No locals.
#14 0xffffffff814896df in acpi_pci_
ret = <optimized out>
busnum = <optimized out>
device = <optimized out>
node = <optimized out>
bus = 0xffff888000c76c00
host_bridge = <optimized out>
obj = <optimized out>
#15 0xffffffff815a0c00 in pci_acpi_scan_root (root=0xffff888
info = <optimized out>
domain = 0
busnum = <optimized out>
node = <optimized out>
bus = 0xffff8880001e5600
#16 0xffffffff814893be in acpi_pci_root_add (device=
segment = 0
bus = 184467440715941
status = <optimized out>
result = <optimized out>
root = <optimized out>
handle = 0xffff888000d121e0
no_aspm = 0
hotadd = <optimized out>
is_pcie = <optimized out>
#17 0xffffffff81482cd9 in acpi_scan_
devid = 0xffffffff81ca77c0 <root_device_ids>
handler = <optimized out>
hwid = 0xffff8880001f21c0
ret = <optimized out>
hwid = <optimized out>
ret = <optimized out>
__mptr = <optimized out>
devid = <optimized out>
handler = <optimized out>
__mptr = <optimized out>
#18 acpi_bus_attach (device=
child = <optimized out>
ejd = 0xffff888000c79890
ret = <optimized out>
#19 0xffffffff81482c48 in acpi_bus_attach (device=
child = 0xffff888000c78000
ejd = 0xffff888000c7a090
ret = <optimized out>
#20 0xffffffff81482c48 in acpi_bus_attach (device=
child = 0xffff888000c79800
ejd = 0x0 <fixed_percpu_data>
ret = <optimized out>
#21 0xffffffff81484bc3 in acpi_bus_scan (handle=
device = 0xffff888000c7a000
#22 0xffffffff81f6dbfb in acpi_scan_init () at /home/dannf/
result = 0
status = <optimized out>
stao_ptr = 0x0 <fixed_percpu_data>
#23 0xffffffff81f6d92a in acpi_init () at /home/dannf/
result = <optimized out>
__func__ = "acpi_init"
#24 0xffffffff81000bc1 in do_one_initcall (fn=0xffffffff8
count = <optimized out>
msgbuf = "\000:ہ\
ret = -2113897520
#25 0xffffffff81f2f208 in do_initcall_level (level=<optimized out>) at /home/dannf/
fn = 0xffffffff82007bd0
fn = <optimized out>
#26 do_initcalls () at /home/dannf/
level = <optimized out>
level = <optimized out>
#27 do_basic_setup () at /home/dannf/
No locals.
#28 kernel_
No locals.
#29 0xffffffff8174d4c9 in kernel_init (unused=<optimized out>) at /home/dannf/
ret = <optimized out>
#30 0xffffffff81800215 in ret_from_fork () at /home/dannf/
[*] lxc uses images with the -kvm variant kernel, which does not include debug symbols (bug 1935855). So this is actually from a local rebuild w/ CONFIG_ DEBUG_INFO= y. Also, since lxc launches guests w/ Secure Boot enabled, I loaded a custom cert into the UEFI DB and self-signed my build.