From: Greg Kroah-Hartman <gre...@linuxfoundation.org> From: Jia-Ju Bai <baijiaju1...@gmail.com>
[ Upstream commit df66617bfe87487190a60783d26175b65d2502ce ] When create_singlethread_workqueue returns NULL to card->event_wq, no error return code of rsxx_pci_probe() is assigned. To fix this bug, st is assigned with -ENOMEM in this case. Fixes: 8722ff8cdbfa ("block: IBM RamSan 70/80 device driver") Reported-by: TOTE Robot <os...@tsinghua.edu.cn> Signed-off-by: Jia-Ju Bai <baijiaju1...@gmail.com> Link: https://lore.kernel.org/r/20210310033017.4023-1-baijiaju1...@gmail.com Signed-off-by: Jens Axboe <ax...@kernel.dk> Signed-off-by: Sasha Levin <sas...@kernel.org> --- drivers/block/rsxx/core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/block/rsxx/core.c b/drivers/block/rsxx/core.c index 0d9137408e3c..a53271acc2a2 100644 --- a/drivers/block/rsxx/core.c +++ b/drivers/block/rsxx/core.c @@ -895,6 +895,7 @@ static int rsxx_pci_probe(struct pci_dev *dev, card->event_wq = create_singlethread_workqueue(DRIVER_NAME"_event"); if (!card->event_wq) { dev_err(CARD_TO_DEV(card), "Failed card event setup.\n"); + st = -ENOMEM; goto failed_event_handler; } -- 2.30.1