| From 90bc839b220098c9bf3a57c14268836e11abe699 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sun, 7 Mar 2021 19:52:41 -0800 |
| Subject: scsi: mpt3sas: Fix error return code of mpt3sas_base_attach() |
| |
| From: Jia-Ju Bai <baijiaju1990@gmail.com> |
| |
| [ Upstream commit 3401ecf7fc1b9458a19d42c0e26a228f18ac7dda ] |
| |
| When kzalloc() returns NULL, no error return code of mpt3sas_base_attach() |
| is assigned. To fix this bug, r is assigned with -ENOMEM in this case. |
| |
| Link: https://lore.kernel.org/r/20210308035241.3288-1-baijiaju1990@gmail.com |
| Fixes: c696f7b83ede ("scsi: mpt3sas: Implement device_remove_in_progress check in IOCTL path") |
| Reported-by: TOTE Robot <oslab@tsinghua.edu.cn> |
| Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> |
| Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/scsi/mpt3sas/mpt3sas_base.c | 8 ++++++-- |
| 1 file changed, 6 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c |
| index 6e23dc3209fe..340d435ac0ce 100644 |
| --- a/drivers/scsi/mpt3sas/mpt3sas_base.c |
| +++ b/drivers/scsi/mpt3sas/mpt3sas_base.c |
| @@ -7789,14 +7789,18 @@ mpt3sas_base_attach(struct MPT3SAS_ADAPTER *ioc) |
| ioc->pend_os_device_add_sz++; |
| ioc->pend_os_device_add = kzalloc(ioc->pend_os_device_add_sz, |
| GFP_KERNEL); |
| - if (!ioc->pend_os_device_add) |
| + if (!ioc->pend_os_device_add) { |
| + r = -ENOMEM; |
| goto out_free_resources; |
| + } |
| |
| ioc->device_remove_in_progress_sz = ioc->pend_os_device_add_sz; |
| ioc->device_remove_in_progress = |
| kzalloc(ioc->device_remove_in_progress_sz, GFP_KERNEL); |
| - if (!ioc->device_remove_in_progress) |
| + if (!ioc->device_remove_in_progress) { |
| + r = -ENOMEM; |
| goto out_free_resources; |
| + } |
| |
| ioc->fwfault_debug = mpt3sas_fwfault_debug; |
| |
| -- |
| 2.30.1 |
| |