Re: [PATCH] nvme: fix out of bounds access in nvme_cqe_pending

From: Keith Busch
Date: Thu Jan 10 2019 - 09:51:39 EST


On Wed, Jan 09, 2019 at 05:54:59PM -0800, Yao HongBo wrote:
> On 1/10/2019 2:39 AM, Christoph Hellwig wrote:
> > On Mon, Jan 07, 2019 at 10:22:07AM +0800, Hongbo Yao wrote:
> >> There is an out of bounds array access in nvme_cqe_peding().
> >>
> >> When enable irq_thread for nvme interrupt, there is racing between the
> >> nvmeq->cq_head updating and reading.
> >
> > Just curious: why did you enable this option? Do you have a workload
> > where it matters?
>
> Yes, there were a lot of hard interrupts reported when reading the nvme disk,
> the OS can not schedule and result in the soft lockup.so i enabled the irq_thread.

That seems a little unusual. We should be able to handle as many
interrupts as an nvme drive can send.