Re: [tip:x86/apic] iommu/vt-d: Move iommu preparatory allocations to irq_remap_ops.prepare

From: Yinghai Lu
Date: Thu Dec 11 2014 - 12:57:11 EST


On Thu, Dec 11, 2014 at 6:33 AM, Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> wrote:
> On 2014/12/11 15:35, Yinghai Lu wrote:
>> On Fri, Dec 5, 2014 at 3:26 PM, tip-bot for Thomas Gleixner
>> <tipbot@xxxxxxxxx> wrote:
>>> Commit-ID: e9220e591375af6d02604c261999df570fba744f
>>> Gitweb: http://git.kernel.org/tip/e9220e591375af6d02604c261999df570fba744f
>>> Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>>> AuthorDate: Fri, 5 Dec 2014 08:48:32 +0000
>>> Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>>> CommitDate: Sat, 6 Dec 2014 00:19:25 +0100
>>>
>>> iommu/vt-d: Move iommu preparatory allocations to irq_remap_ops.prepare
>>>
>>> The whole iommu setup for irq remapping is a convoluted mess. The
>>> iommu detect function gets called from mem_init() and the prepare
>>> callback gets called from enable_IR_x2apic() for unknown reasons.
>>
>> Got
>>
> Hi Yinghai,
> From following log messages, it seems that the AHCI controllers
> allocates 16 MSI/MSI-X interrupt, and triggers NULL pointer reference
> when enabling interrupts for AHCI.
> It doesn't trigger panic with this code path (allocate/enable
> MSI/MSI-X interrupts with IR enabled) on my test system. So could you
> please help to get more info with the attached test patch?

[ 113.486917] calling ahci_pci_driver_init+0x0/0x1b @ 1
[ 113.487299] ahci 0000:00:1f.2: version 3.0
[ 113.507317] ahci 0000:00:1f.2: SSS flag set, parallel bus scan disabled
[ 113.507713] ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 6 ports 3
Gbps 0x3f impl SATA mode
[ 113.527019] ahci 0000:00:1f.2: flags: 64bit ncq sntf stag pm led
clo pio slum part ccc ems sxs
[ 113.583977] iommu: chip_data ffff881022b97740, iommu
ffff88103d80ae00, index 32, subindex 0, ir_table ffff88103d802af0,
table_base ffff881026c00000, queue ffff88102770c000
[ 113.597261] iommu: chip_data ffff881022b97780, iommu
(null), index 0, subindex 0, ir_table (null), table_base
(null), queue (null)
[ 113.617124] BUG: unable to handle kernel NULL pointer dereference
at 0000000000000118
[ 113.636983] IP: [<ffffffff81eacca0>] modify_irte+0x40/0xd0
[ 113.637253] PGD 0
[ 113.656978] Oops: 0000 [#1] SMP
[ 113.657133] Modules linked in:
[ 113.657322] CPU: 0 PID: 2531 Comm: kworker/0:1 Tainted: G W
[ 113.696953] Workqueue: events work_for_cpu_fn
[ 113.697189] task: ffff881025535240 ti: ffff881025528000 task.ti:
ffff881025528000
[ 113.716965] RIP: 0010:[<ffffffff81eacca0>] [<ffffffff81eacca0>]
modify_irte+0x40/0xd0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/