Here is v6 of the blktrace fixes which address the debugfs use after free. I've followed the strategy suggested by Christoph of open coding the solution in place, and extended it with the required work for partitions and scsi-generic. Jan's blktrace sparse fix ended up depending on one of my patch, "blktrace: break out of blktrace setup on concurrent calls", and so he has sent those for inclusion prior to my series. This series would have to be applied after those two patches from Jan are merged then. Since the patch "blktrace: fix debugfs use after free" ends up being the only one modified lately, I've moved that patch to be the last one in the series now. You can find these on my git tree branch 20200608-blktrace-fixes based on linux-next 20200608 [0]. Hopefully this is it. [0] https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/log/?h=20200608-blktrace-fixes Luis Chamberlain (6): block: add docs for gendisk / request_queue refcount helpers block: clarify context for refcount increment helpers block: revert back to synchronous request_queue removal blktrace: annotate required lock on do_blk_trace_setup() loop: be paranoid on exit and prevent new additions / removals blktrace: fix debugfs use after free block/blk-core.c | 27 ++++++++++-- block/blk-mq-debugfs.c | 5 --- block/blk-sysfs.c | 83 +++++++++++++++++++++++++++--------- block/blk.h | 2 - block/genhd.c | 73 ++++++++++++++++++++++++++++++- block/partitions/core.c | 3 ++ drivers/block/loop.c | 4 ++ drivers/scsi/sg.c | 3 ++ include/linux/blkdev.h | 6 +-- include/linux/blktrace_api.h | 1 - include/linux/genhd.h | 1 + kernel/trace/blktrace.c | 55 ++++++++++++++++++------ 12 files changed, 214 insertions(+), 49 deletions(-) -- 2.26.2