From: Liu Bo Date: Tue, 29 May 2018 08:29:12 +0000 (+0800) Subject: blk-throttle: fix potential NULL pointer dereference in throtl_select_dispatch X-Git-Tag: Ubuntu-5.2.0-15.16~4340^2~53 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=2ab74cd29622c48e9852d85618081c061b6ac6d9;p=mirror_ubuntu-eoan-kernel.git blk-throttle: fix potential NULL pointer dereference in throtl_select_dispatch tg in throtl_select_dispatch is used first and then do check. Since tg may be NULL, it has potential NULL pointer dereference risk. So fix it. Signed-off-by: Joseph Qi Signed-off-by: Liu Bo Signed-off-by: Jens Axboe --- diff --git a/block/blk-throttle.c b/block/blk-throttle.c index f63d88c92c3a..35bed770664d 100644 --- a/block/blk-throttle.c +++ b/block/blk-throttle.c @@ -1207,7 +1207,7 @@ static int throtl_select_dispatch(struct throtl_service_queue *parent_sq) while (1) { struct throtl_grp *tg = throtl_rb_first(parent_sq); - struct throtl_service_queue *sq = &tg->service_queue; + struct throtl_service_queue *sq; if (!tg) break; @@ -1219,6 +1219,7 @@ static int throtl_select_dispatch(struct throtl_service_queue *parent_sq) nr_disp += throtl_dispatch_tg(tg); + sq = &tg->service_queue; if (sq->nr_queued[0] || sq->nr_queued[1]) tg_update_disptime(tg);