WSL2-Linux-Kernel/block
Jan Kara 075a53b78b bfq: Make sure bfqg for which we are queueing requests is online
Bios queued into BFQ IO scheduler can be associated with a cgroup that
was already offlined. This may then cause insertion of this bfq_group
into a service tree. But this bfq_group will get freed as soon as last
bio associated with it is completed leading to use after free issues for
service tree users. Fix the problem by making sure we always operate on
online bfq_group. If the bfq_group associated with the bio is not
online, we pick the first online parent.

CC: stable@vger.kernel.org
Fixes: e21b7a0b98 ("block, bfq: add full hierarchical scheduling and cgroups support")
Tested-by: "yukuai (C)" <yukuai3@huawei.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20220401102752.8599-9-jack@suse.cz
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-04-17 19:34:32 -06:00
..
partitions
Kconfig
Kconfig.iosched
Makefile
badblocks.c
bdev.c
bfq-cgroup.c bfq: Make sure bfqg for which we are queueing requests is online 2022-04-17 19:34:32 -06:00
bfq-iosched.c bfq: Get rid of __bio_blkcg() usage 2022-04-17 19:34:29 -06:00
bfq-iosched.h bfq: Get rid of __bio_blkcg() usage 2022-04-17 19:34:29 -06:00
bfq-wf2q.c
bio-integrity.c
bio.c block: turn bio_kmalloc into a simple kmalloc wrapper 2022-04-17 19:30:41 -06:00
blk-cgroup-rwstat.c
blk-cgroup-rwstat.h
blk-cgroup.c for-5.18/block-2022-04-01 2022-04-01 16:20:00 -07:00
blk-cgroup.h
blk-core.c
blk-crypto-fallback.c block: turn bio_kmalloc into a simple kmalloc wrapper 2022-04-17 19:30:41 -06:00
blk-crypto-internal.h
blk-crypto-profile.c
blk-crypto-sysfs.c
blk-crypto.c
blk-flush.c
blk-ia-ranges.c
blk-integrity.c
blk-ioc.c
blk-iocost.c
blk-iolatency.c
blk-ioprio.c
blk-ioprio.h
blk-lib.c
blk-map.c block: turn bio_kmalloc into a simple kmalloc wrapper 2022-04-17 19:30:41 -06:00
blk-merge.c
blk-mq-cpumap.c
blk-mq-debugfs-zoned.c
blk-mq-debugfs.c
blk-mq-debugfs.h
blk-mq-pci.c
blk-mq-rdma.c
blk-mq-sched.c
blk-mq-sched.h
blk-mq-sysfs.c
blk-mq-tag.c
blk-mq-tag.h
blk-mq-virtio.c
blk-mq.c block: don't print I/O error warning for dead disks 2022-04-15 06:33:03 -06:00
blk-mq.h
blk-pm.c
blk-pm.h
blk-rq-qos.c
blk-rq-qos.h
blk-settings.c
blk-stat.c
blk-stat.h
blk-sysfs.c
blk-throttle.c
blk-throttle.h
blk-timeout.c
blk-wbt.c
blk-wbt.h blk-wbt: remove wbt_track stub 2022-03-31 12:58:38 -06:00
blk-zoned.c
blk.h block: allow use of per-cpu bio alloc cache by block drivers 2022-04-17 16:49:40 -06:00
bounce.c
bsg-lib.c
bsg.c
disk-events.c
elevator.c
elevator.h
fops.c block: allow using the per-cpu bio cache from bio_alloc_bioset 2022-04-17 16:49:40 -06:00
genhd.c for-5.18/block-2022-04-01 2022-04-01 16:20:00 -07:00
holder.c
ioctl.c block/compat_ioctl: fix range check in BLKGETSIZE 2022-04-15 06:32:40 -06:00
ioprio.c
kyber-iosched.c
mq-deadline.c
opal_proto.h
sed-opal.c
t10-pi.c