Skip to content

Commit

Permalink
block: mtip32xx: set error code on failure
Browse files Browse the repository at this point in the history
Fix bug https://bugzilla.kernel.org/show_bug.cgi?id=188531. In function
mtip_block_initialize(), variable rv takes the return value, and its
value should be negative on errors. rv is initialized as 0 and is not
reset when the call to ida_pre_get() fails. So 0 may be returned.
The return value 0 indicates that there is no error, which may be
inconsistent with the execution status. This patch fixes the bug by
explicitly assigning -ENOMEM to rv on the branch that ida_pre_get()
fails.

Signed-off-by: Pan Bian <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
SinkFinder authored and axboe committed Dec 1, 2016
1 parent d262920 commit 5b0e34e
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/block/mtip32xx/mtip32xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -3933,8 +3933,10 @@ static int mtip_block_initialize(struct driver_data *dd)

/* Generate the disk name, implemented same as in sd.c */
do {
if (!ida_pre_get(&rssd_index_ida, GFP_KERNEL))
if (!ida_pre_get(&rssd_index_ida, GFP_KERNEL)) {
rv = -ENOMEM;
goto ida_get_error;
}

spin_lock(&rssd_index_lock);
rv = ida_get_new(&rssd_index_ida, &index);
Expand Down

0 comments on commit 5b0e34e

Please sign in to comment.