block: fix NULL pointer dereference in register_disk
commit 4d7c1d3fd7c7eda7dea351f071945e843a46c145 upstream. If __device_add_disk-->bdi_register_owner-->bdi_register--> bdi_register_va-->device_create_vargs fails, bdi->dev is still NULL, __device_add_disk-->register_disk will visit bdi->dev->kobj. This patch fixes that. Signed-off-by: zhengbin <zhengbin13@huawei.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Jack Wang <jinpu.wang@cloud.ionos.com>
This commit is contained in:
parent
960434acef
commit
b0393aadc2
@ -652,10 +652,12 @@ exit:
|
|||||||
kobject_uevent(&part_to_dev(part)->kobj, KOBJ_ADD);
|
kobject_uevent(&part_to_dev(part)->kobj, KOBJ_ADD);
|
||||||
disk_part_iter_exit(&piter);
|
disk_part_iter_exit(&piter);
|
||||||
|
|
||||||
err = sysfs_create_link(&ddev->kobj,
|
if (disk->queue->backing_dev_info->dev) {
|
||||||
&disk->queue->backing_dev_info->dev->kobj,
|
err = sysfs_create_link(&ddev->kobj,
|
||||||
"bdi");
|
&disk->queue->backing_dev_info->dev->kobj,
|
||||||
WARN_ON(err);
|
"bdi");
|
||||||
|
WARN_ON(err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user