Mailinglist Archive: opensuse-bugs (4258 mails)

< Previous Next >
[Bug 1022181] kernel OOPS @ 'pcie_aspm_init_link_state' after upgrade from @Kernel:Stable 4.9.5-3.1.g9bb1a8a-default -> 4.9.6-1.1.gd1207ac-default
  • From: bugzilla_noreply@xxxxxxxxxx
  • Date: Fri, 27 Jan 2017 21:01:54 +0000
  • Message-id: <>

Bjorn Helgaas <bjorn@xxxxxxxxxxx> changed:

What |Removed |Added
Attachment #711914|0 |1
is obsolete| |

--- Comment #13 from Bjorn Helgaas <bjorn@xxxxxxxxxxx> ---
Created attachment 711972
test patch

I was mistaken about where the NULL pointer dereference was. I thought it was
the dev->subordinate pointer, but in fact I think it was the
pdev->bus->parent->self->link_state pointer in alloc_pcie_link_state(). Here's
the disassembly. This matches the code in alloc_pcie_link_state(), which was
inlined into pcie_aspm_init_link_state():

0xffffffff81424336 <pcie_aspm_init_link_state+342>: mov %r13,(%rbx)
0xffffffff81424339 <pcie_aspm_init_link_state+345>: sar $0x4,%eax
0xffffffff8142433c <pcie_aspm_init_link_state+348>: and $0xf,%eax
# pci_pcie_type
0xffffffff8142433f <pcie_aspm_init_link_state+351>: cmp $0x4,%eax
0xffffffff81424342 <pcie_aspm_init_link_state+354>: je
0xffffffff8142437c <pcie_aspm_init_link_state+412>
0xffffffff81424344 <pcie_aspm_init_link_state+356>: mov 0x10(%r13),%rax
# pdev->bus
0xffffffff81424348 <pcie_aspm_init_link_state+360>: mov 0x10(%rax),%rax
# pdev->bus->parent
0xffffffff8142434c <pcie_aspm_init_link_state+364>: mov 0x38(%rax),%rax
# pdev->bus->parent->self

0xffffffff81424350 <pcie_aspm_init_link_state+368>: mov 0x90(%rax),%rax
# pdev->bus->parent->self->link_state
RAX: 0000000000000000

0xffffffff81424357 <pcie_aspm_init_link_state+375>: test %rax,%rax

I think the attached patch will fix it. Can you try it out? I don't know how
to run this through the SUSE build service. This is based on my for-linus
branch, which contains 51ebfc92b72b, so this should apply cleanly for you.

You are receiving this mail because:
You are on the CC list for the bug.
< Previous Next >