Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5b0e34e1 authored by Pan Bian's avatar Pan Bian Committed by Jens Axboe
Browse files

block: mtip32xx: set error code on failure

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: default avatarPan Bian <bianpan2016@163.com>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent d2629209
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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);