[PATCH 3/3] SCSI-debug: Fix exception handling for an alignment/granularity mismatch in scsi_debug_i

SF Markus Elfring
2015-02-06T17:26:42Z

From: Markus Elfring <elfring@users.sourceforge.net>
Date: Fri, 6 Feb 2015 17:57:32 +0100

The scsi_debug_init() function returned directly if the data items "alignment"
and "granularity" did not fit together.

Let us improve the affected exception handling by replacing the return
statement by a goto statement so that previously allocated resources will also
be appropriately released.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
drivers/scsi/scsi_debug.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
index 756b7be..2c78663 100644
--- a/drivers/scsi/scsi_debug.c
+++ b/drivers/scsi/scsi_debug.c
@@ -4909,7 +4909,8 @@ static int __init scsi_debug_init(void)
scsi_debug_unmap_alignment) {
pr_err("%s: ERR: unmap_granularity <= unmap_alignment\n",
__func__);
- return -EINVAL;
+ ret = -EINVAL;
+ goto free_dif;
}

map_size = lba_to_map_index(sdebug_store_sectors - 1) + 1;
--
2.2.2