提交 4765a218 编写于 作者: Z zhengbin 提交者: Xie XiuQi

block: fix NULL pointer dereference in register_disk

mainline inclusion
from mainline-5.0
commit 4d7c1d3fd7c7eda7dea351f071945e843a46c145
category: bugfix
bugzilla: 12063
CVE: NA

---------------------------

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: Nzhengbin <zhengbin13@huawei.com>
Signed-off-by: NJens Axboe <axboe@kernel.dk>
Signed-off-by: Nzhengbin <zhengbin13@huawei.com>
Reviewed-by: NYang Yingliang <yangyingliang@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 f8456ff2
...@@ -637,10 +637,12 @@ static void register_disk(struct device *parent, struct gendisk *disk) ...@@ -637,10 +637,12 @@ static void register_disk(struct device *parent, struct gendisk *disk)
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);
}
} }
/** /**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册