]> www.infradead.org Git - users/dwmw2/linux.git/commit
ubi: block: fix null-pointer-dereference in ubiblock_create()
authorLi Nan <linan122@huawei.com>
Wed, 22 May 2024 17:10:35 +0000 (01:10 +0800)
committerRichard Weinberger <richard@nod.at>
Fri, 12 Jul 2024 19:56:23 +0000 (21:56 +0200)
commit4f9d406c8c90dc17470cf63342c16f66ec2d978e
tree4b9ce90f34106f5db55b043e9ffeed31aa97f57d
parent39986148bc2ab4436ec169c8f4db76f6cc83705d
ubi: block: fix null-pointer-dereference in ubiblock_create()

Similar to commit adbf4c4954e3 ("ubi: block: fix memleak in
ubiblock_create()"), 'dev->gd' is not assigned but dereferenced if
blk_mq_alloc_tag_set() fails, and leading to a null-pointer-dereference.
Fix it by using pr_err() and variable 'dev' to print error log.

Additionally, the log in the error handle path of idr_alloc() has
been improved by using pr_err(), too. Before initializing device
name, using dev_err() will print error log with 'null' instead of
the actual device name, like this:
  block (null): ...
        ~~~~~~
It is unclear. Using pr_err() can print more details of the device.
The improved log is:
  ubiblock0_0: ...

Fixes: 77567b25ab9f ("ubi: use blk_mq_alloc_disk and blk_cleanup_disk")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Li Nan <linan122@huawei.com>
Reviewed-by: Zhihao Cheng <chengzhihao1@huawei.com>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Richard Weinberger <richard@nod.at>
drivers/mtd/ubi/block.c