Jan Kara
ccddf8cd41
bfq: Make sure bfqg for which we are queueing requests is online
...
commit 075a53b78b815301f8d3dd1ee2cd99554e34f0dd upstream.
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-14 18:11:50 +02:00
..
partitions
badblocks.c
bfq-cgroup.c
bfq: Make sure bfqg for which we are queueing requests is online
2022-06-14 18:11:50 +02:00
bfq-iosched.c
bfq: Get rid of __bio_blkcg() usage
2022-06-14 18:11:50 +02:00
bfq-iosched.h
bfq: Get rid of __bio_blkcg() usage
2022-06-14 18:11:50 +02:00
bfq-wf2q.c
bio-integrity.c
block: bio-integrity: Advance seed correctly for larger interval sizes
2022-02-08 18:24:28 +01:00
bio.c
block-map: add __GFP_ZERO flag for alloc_page in function bio_copy_kern
2022-05-12 12:23:48 +02:00
blk-cgroup.c
blk-cgroup: fix UAF by grabbing blkcg lock before destroying blkg pd
2021-09-30 10:09:25 +02:00
blk-core.c
Revert "Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT""
2021-02-07 15:35:47 +01:00
blk-exec.c
blk-flush.c
block: Fix fsync always failed if once failed
2022-03-08 19:07:47 +01:00
blk-integrity.c
blk-ioc.c
blk-iocost.c
blk-iolatency.c
blk-iolatency: Fix inflight count imbalances and IO hangs on offline
2022-06-14 18:11:49 +02:00
blk-lib.c
blk-map.c
blk-merge.c
block: return ELEVATOR_DISCARD_MERGE if possible
2022-05-25 09:14:38 +02:00
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
kyber: fix out of bounds access when preempted
2021-05-19 10:08:30 +02:00
blk-mq-sched.h
blk-mq-sysfs.c
blk-mq-tag.c
blk-mq-tag.h
blk-mq-virtio.c
blk-mq.c
block: remove inaccurate requeue check
2021-11-17 09:48:31 +01:00
blk-mq.h
blk-pm.c
blk-pm.h
blk-rq-qos.c
rq-qos: fix missed wake-ups in rq_qos_throttle try two
2021-07-19 08:53:16 +02:00
blk-rq-qos.h
block: fix race between adding/removing rq qos and normal IO
2021-07-14 16:53:18 +02:00
blk-settings.c
blk-settings: align max_sectors on "logical_block_size" boundary
2021-03-04 10:26:40 +01:00
blk-softirq.c
blk-stat.c
blk-stat.h
blk-sysfs.c
block: don't delete queue kobject before its children
2022-04-15 14:18:05 +02:00
blk-throttle.c
blk-throttle: fix UAF by deleteing timer in blk_throtl_exit()
2021-09-26 14:07:13 +02:00
blk-timeout.c
blk-wbt.c
blk-wbt: make sure throttle is enabled properly
2021-07-14 16:53:25 +02:00
blk-wbt.h
blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled()
2021-07-14 16:53:25 +02:00
blk-zoned.c
blk-zoned: allow BLKREPORTZONE without CAP_SYS_ADMIN
2021-09-22 12:26:19 +02:00
blk.h
bounce.c
bsg-lib.c
bsg.c
scsi: bsg: Remove support for SCSI_IOCTL_SEND_COMMAND
2021-09-22 12:26:23 +02:00
cmdline-parser.c
compat_ioctl.c
block/compat_ioctl: fix range check in BLKGETSIZE
2022-04-27 13:50:50 +02:00
elevator.c
block: return ELEVATOR_DISCARD_MERGE if possible
2022-05-25 09:14:38 +02:00
genhd.c
block: Suppress uevent for hidden device when removed
2021-03-30 14:35:23 +02:00
ioctl.c
ioprio.c
block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2)
2021-12-14 14:49:02 +01:00
Kconfig
Kconfig.iosched
kyber-iosched.c
kyber: fix out of bounds access when preempted
2021-05-19 10:08:30 +02:00
Makefile
mq-deadline.c
block: return ELEVATOR_DISCARD_MERGE if possible
2022-05-25 09:14:38 +02:00
opal_proto.h
partition-generic.c
scsi_ioctl.c
sed-opal.c
t10-pi.c