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: Pan Bian <bianpan2016@163.com> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
Родитель
d262920998
Коммит
5b0e34e194
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче