summaryrefslogtreecommitdiff
path: root/drivers/pci/irq.c
diff options
context:
space:
mode:
authorZeng Heng <zengheng4@huawei.com>2022-11-21 10:00:29 +0800
committerBjorn Helgaas <bhelgaas@google.com>2022-11-21 16:55:18 -0600
commit2d9cd957d40c3ac491b358e7cff0515bb07a3a9c (patch)
tree144af1838c4e86482e5c94a3138594b65858cb1d /drivers/pci/irq.c
parent98b04dd0b4577894520493d96bc4623387767445 (diff)
PCI: Check for alloc failure in pci_request_irq()
When kvasprintf() fails to allocate memory, it returns a NULL pointer. Return error from pci_request_irq() so we don't dereference it. [bhelgaas: commit log] Fixes: 704e8953d3e9 ("PCI/irq: Add pci_request_irq() and pci_free_irq() helpers") Link: https://lore.kernel.org/r/20221121020029.3759444-1-zengheng4@huawei.com Signed-off-by: Zeng Heng <zengheng4@huawei.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/pci/irq.c')
-rw-r--r--drivers/pci/irq.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pci/irq.c b/drivers/pci/irq.c
index 12ecd0aaa28d..0050e8f6814e 100644
--- a/drivers/pci/irq.c
+++ b/drivers/pci/irq.c
@@ -44,6 +44,8 @@ int pci_request_irq(struct pci_dev *dev, unsigned int nr, irq_handler_t handler,
va_start(ap, fmt);
devname = kvasprintf(GFP_KERNEL, fmt, ap);
va_end(ap);
+ if (!devname)
+ return -ENOMEM;
ret = request_threaded_irq(pci_irq_vector(dev, nr), handler, thread_fn,
irqflags, devname, dev_id);