[PATCH 3/4] NVMe: Fix double free irq
Matthew Wilcox
willy at linux.intel.com
Mon Dec 22 07:15:21 PST 2014
On Fri, Dec 19, 2014 at 05:54:15PM -0700, Keith Busch wrote:
> Sets the vector to an invalid value after it's freed so we don't free
> it twice.
>
> Signed-off-by: Keith Busch <keith.busch at intel.com>
> ---
> drivers/block/nvme-core.c | 19 +++++++++++++------
> 1 file changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c
> index b1d5d87..9642c83 100644
> --- a/drivers/block/nvme-core.c
> +++ b/drivers/block/nvme-core.c
> @@ -106,7 +106,7 @@ struct nvme_queue {
> dma_addr_t cq_dma_addr;
> u32 __iomem *q_db;
> u16 q_depth;
> - u16 cq_vector;
> + int cq_vector;
If you're going to change its size, can you move it up one slot so as
to not leave a hole? The 'pahole' tool can tell you when there are holes
in structures.
More information about the Linux-nvme
mailing list