]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
block, bfq: release oom-queue ref to root group on exit
authorPaolo Valente <paolo.valente@linaro.org>
Tue, 9 Jan 2018 09:27:59 +0000 (10:27 +0100)
committerJens Axboe <axboe@kernel.dk>
Tue, 9 Jan 2018 15:45:25 +0000 (08:45 -0700)
On scheduler init, a reference to the root group, and a reference to
its corresponding blkg are taken for the oom queue. Yet these
references are not released on scheduler exit, which prevents these
objects from be freed. This commit adds the missing reference
releases.

Reported-by: Davide Ferrari <davideferrari8@gmail.com>
Tested-by: Holger Hoffstätte <holger@applied-asynchrony.com>
Signed-off-by: Paolo Valente <paolo.valente@linaro.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bfq-iosched.c

index 7bd789da7a2961f1193a976deb5893e96d2c735e..7c0b7f60811cfe54e76cda5fb2fd4eadd3ceef30 100644 (file)
@@ -4893,6 +4893,9 @@ static void bfq_exit_queue(struct elevator_queue *e)
 
        hrtimer_cancel(&bfqd->idle_slice_timer);
 
+       /* release oom-queue reference to root group */
+       bfqg_and_blkg_put(bfqd->root_group);
+
 #ifdef CONFIG_BFQ_GROUP_IOSCHED
        blkcg_deactivate_policy(bfqd->queue, &blkcg_policy_bfq);
 #else