summaryrefslogtreecommitdiffstats
path: root/drivers/pci/endpoint
diff options
context:
space:
mode:
authorKangjie Lu <kjlu@umn.edu>2019-03-15 00:07:10 -0500
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>2019-04-12 15:25:09 +0100
commit507b820009a457afa78202da337bcb56791fbb12 (patch)
treeed0f356548774d64cb02a87e53263891ec6662b7 /drivers/pci/endpoint
parent993d5fe31c7b7cf7f480c6b4bec3ed23a3a24690 (diff)
downloadlinux-0-day-507b820009a457afa78202da337bcb56791fbb12.tar.gz
linux-0-day-507b820009a457afa78202da337bcb56791fbb12.tar.xz
PCI: endpoint: Fix a potential NULL pointer dereference
In case alloc_workqueue() fails, return -ENOMEM to avoid potential NULL pointer dereferences. Signed-off-by: Kangjie Lu <kjlu@umn.edu> [lorenzo.pieralisi@arm.com: commit log and code update] Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Diffstat (limited to 'drivers/pci/endpoint')
-rw-r--r--drivers/pci/endpoint/functions/pci-epf-test.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c
index d0b91da49bf4a..ed5cd28b95725 100644
--- a/drivers/pci/endpoint/functions/pci-epf-test.c
+++ b/drivers/pci/endpoint/functions/pci-epf-test.c
@@ -591,6 +591,11 @@ static int __init pci_epf_test_init(void)
kpcitest_workqueue = alloc_workqueue("kpcitest",
WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
+ if (!kpcitest_workqueue) {
+ pr_err("Failed to allocate the kpcitest work queue\n");
+ return -ENOMEM;
+ }
+
ret = pci_epf_register_driver(&test_driver);
if (ret) {
pr_err("Failed to register pci epf test driver --> %d\n", ret);