PCI: hv: Allocate interrupt descriptors with GFP_ATOMIC
authorK. Y. Srinivasan <kys@microsoft.com>
Fri, 24 Mar 2017 18:07:22 +0000 (11:07 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 May 2017 13:44:47 +0000 (15:44 +0200)
commit 59c58ceeea9cdc6144d7b0303753e6bd26d87455 upstream.

The memory allocation here needs to be non-blocking.  Fix the issue.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Long Li <longli@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pci/host/pci-hyperv.c

index 61fc349..ddabf7b 100644 (file)
@@ -868,7 +868,7 @@ static void hv_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
                hv_int_desc_free(hpdev, int_desc);
        }
 
-       int_desc = kzalloc(sizeof(*int_desc), GFP_KERNEL);
+       int_desc = kzalloc(sizeof(*int_desc), GFP_ATOMIC);
        if (!int_desc)
                goto drop_reference;