Re: [PATH v2] NVMe: init nvme queue before enabling irq

From: Jens Axboe
Date: Wed Jan 20 2016 - 12:19:28 EST


On 01/20/2016 10:12 AM, Greg KH wrote:
On Wed, Jan 20, 2016 at 05:48:35AM -0500, Wenbo Wang wrote:
From: Wenbo Wang <wenbo.wang@xxxxxxxxxxxx>

During reset process, the nvme_dev->bar (ioremapped) may change,
so nvmeq->q_db shall be also updated by nvme_init_queue().

Currently nvmeq irq is enabled before queue init, so a spurious
interrupt triggered nvme_process_cq may access nvmeq->q_db just
before it is updated, this could cause kernel panic.

Signed-off-by: Wenbo Wang <wenbo.wang@xxxxxxxxxxxx>
Reviewed-by: Wenwei Tao <wenwei.tao@xxxxxxxxxxxx>
---
drivers/nvme/host/pci.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree. Please read Documentation/stable_kernel_rules.txt
for how to do this properly.

I'll mark it stable when adding, just ignore it for now.

--
Jens Axboe