Patch "block: fix blktrace debugfs entries leakage" has been added to the 6.3-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    block: fix blktrace debugfs entries leakage

to the 6.3-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     block-fix-blktrace-debugfs-entries-leakage.patch
and it can be found in the queue-6.3 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 979c25b082e5a44862d5aa8a78031e9f5efe9d84
Author: Yu Kuai <yukuai3@xxxxxxxxxx>
Date:   Sat Jun 10 10:20:03 2023 +0800

    block: fix blktrace debugfs entries leakage
    
    [ Upstream commit dd7de3704af9989b780693d51eaea49a665bd9c2 ]
    
    Commit 99d055b4fd4b ("block: remove per-disk debugfs files in
    blk_unregister_queue") moves blk_trace_shutdown() from
    blk_release_queue() to blk_unregister_queue(), this is safe if blktrace
    is created through sysfs, however, there is a regression in corner
    case.
    
    blktrace can still be enabled after del_gendisk() through ioctl if
    the disk is opened before del_gendisk(), and if blktrace is not shutdown
    through ioctl before closing the disk, debugfs entries will be leaked.
    
    Fix this problem by shutdown blktrace in disk_release(), this is safe
    because blk_trace_remove() is reentrant.
    
    Fixes: 99d055b4fd4b ("block: remove per-disk debugfs files in blk_unregister_queue")
    Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
    Reviewed-by: Christoph Hellwig <hch@xxxxxx>
    Link: https://lore.kernel.org/r/20230610022003.2557284-4-yukuai1@xxxxxxxxxxxxxxx
    Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/block/genhd.c b/block/genhd.c
index 7f874737af682..c5a35e1b462fa 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -25,8 +25,9 @@
 #include <linux/pm_runtime.h>
 #include <linux/badblocks.h>
 #include <linux/part_stat.h>
-#include "blk-throttle.h"
+#include <linux/blktrace_api.h>
 
+#include "blk-throttle.h"
 #include "blk.h"
 #include "blk-mq-sched.h"
 #include "blk-rq-qos.h"
@@ -1183,6 +1184,8 @@ static void disk_release(struct device *dev)
 	might_sleep();
 	WARN_ON_ONCE(disk_live(disk));
 
+	blk_trace_remove(disk->queue);
+
 	/*
 	 * To undo the all initialization from blk_mq_init_allocated_queue in
 	 * case of a probe failure where add_disk is never called we have to



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux