From 1eaf925123cf302d159c1818b048e250e8d70b18 Mon Sep 17 00:00:00 2001 From: zhengbin Date: Tue, 13 Aug 2019 16:59:44 +0800 Subject: [PATCH] paride/pf: need to set queue to NULL before put_disk In pf_init_units, if blk_mq_init_sq_queue fails, need to set queue to NULL before put_disk, otherwise null-ptr-deref Read will occur. put_disk kobject_put disk_release blk_put_queue(disk->queue) Fixes: 590238f9d47d ("paride: convert pf to blk-mq") Reported-by: Hulk Robot Signed-off-by: zhengbin Signed-off-by: Jens Axboe --- drivers/block/paride/pf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/block/paride/pf.c b/drivers/block/paride/pf.c index 1e9c50a7256cd..6b7d4cab36874 100644 --- a/drivers/block/paride/pf.c +++ b/drivers/block/paride/pf.c @@ -300,8 +300,8 @@ static void __init pf_init_units(void) disk->queue = blk_mq_init_sq_queue(&pf->tag_set, &pf_mq_ops, 1, BLK_MQ_F_SHOULD_MERGE); if (IS_ERR(disk->queue)) { - put_disk(disk); disk->queue = NULL; + put_disk(disk); continue; } -- 2.39.5