From 8b50c2be1719d3c3d8bd644198a998ca96d96a73 Mon Sep 17 00:00:00 2001
From: Wei Yongjun <weiyongjun1@huawei.com>
Date: Thu, 11 Jan 2018 11:12:25 +0000
Subject: [PATCH] tcmu: fix error return code in tcmu_configure_device()
Git-commit: a24e7917e1758daf9ac0da4fac0f7b48f0b4b624
Patch-mainline: v4.16-rc1
References: bsc#1118978
Fix to return error code -ENOMEM from the kzalloc() error handling
case instead of 0, as done elsewhere in this function.
Fixes: 80eb876 ("tcmu: allow max block and global max blocks to be settable")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Acked-by: Mike Christie <mchristi@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Acked-by: David Disseldorp <ddiss@suse.de>
---
drivers/target/target_core_user.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/target/target_core_user.c b/drivers/target/target_core_user.c
index 46b2f2e435e9..95519a483bb9 100644
--- a/drivers/target/target_core_user.c
+++ b/drivers/target/target_core_user.c
@@ -1703,8 +1703,10 @@ static int tcmu_configure_device(struct se_device *dev)
udev->data_bitmap = kzalloc(BITS_TO_LONGS(udev->max_blocks) *
sizeof(unsigned long), GFP_KERNEL);
- if (!udev->data_bitmap)
+ if (!udev->data_bitmap) {
+ ret = -ENOMEM;
goto err_bitmap_alloc;
+ }
udev->mb_addr = vzalloc(CMDR_SIZE);
if (!udev->mb_addr) {
--
2.13.7