anolis-cloud-kernel/block
Chris Mason 3b6ea6d633 blk-cgroup: properly pin the parent in blkcg_css_online
ANBZ: #20642

commit d7dbd43f4a upstream.

blkcg_css_online is supposed to pin the blkcg of the parent, but
397c9f46ee refactored things and along the way, changed it to pin the
css instead.  This results in extra pins, and we end up leaking blkcgs
and cgroups.

Fixes: 397c9f46ee ("blk-cgroup: move blkcg_{pin,unpin}_online out of line")
Signed-off-by: Chris Mason <clm@fb.com>
Spotted-by: Rik van Riel <riel@surriel.com>
Cc: <stable@vger.kernel.org> # v5.19+
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Link: https://lore.kernel.org/r/20221114181930.2093706-1-clm@fb.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Ferry Meng <mengferry@linux.alibaba.com>
Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Link: https://gitee.com/anolis/cloud-kernel/pulls/5137
2025-04-23 10:56:15 +00:00
..
partitions block: fix potential invalid pointer dereference in blk_add_partition 2024-12-27 09:50:10 +00:00
Kconfig blk-wbt: Remove obsolete multiqueue I/O scheduling comment 2020-09-01 16:49:26 -06:00
Kconfig.iosched treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile blk-mq: merge blk-softirq.c into blk-mq.c 2020-06-24 09:15:56 -06:00
badblocks.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bfq-cgroup.c block, bfq: fix uaf for bfqq in bic_set_bfqq() 2024-02-19 09:25:37 +00:00
bfq-iosched.c block, bfq: fix procress reference leakage for bfqq in merge chain 2025-01-20 06:55:43 +00:00
bfq-iosched.h bfq: Get rid of __bio_blkcg() usage 2022-06-09 10:21:31 +02:00
bfq-wf2q.c bfq: fix blkio cgroup leakage v4 2020-08-18 07:48:08 -07:00
bio-integrity.c block: initialize integrity buffer to zero before writing it to media 2024-10-14 02:56:08 +00:00
bio.c block: switch polling to be bio based 2024-11-26 01:40:15 +00:00
blk-cgroup-rwstat.c blk-cgroup: Fix the recursive blkg rwstat 2021-03-30 14:31:48 +02:00
blk-cgroup-rwstat.h blk-cgroup: separate out blkg_rwstat under CONFIG_BLK_CGROUP_RWSTAT 2019-11-07 12:28:13 -07:00
blk-cgroup.c blk-cgroup: properly pin the parent in blkcg_css_online 2025-04-23 10:56:15 +00:00
blk-core.c block: fix parameter not described warning 2025-03-14 03:16:50 +00:00
blk-crypto-fallback.c block: rename generic_make_request to submit_bio_noacct 2020-07-01 07:27:24 -06:00
blk-crypto-internal.h block: make blk_crypto_rq_bio_prep() able to fail 2020-10-05 10:47:43 -06:00
blk-crypto.c anolis: blk-crypto: Add support for SM4-XTS blk crypto mode 2022-11-25 02:52:42 +00:00
blk-exec.c block: add a struct io_comp_batch argument to fops->iopoll() 2024-12-09 06:40:29 +00:00
blk-flush.c block: Fix fsync always failed if once failed 2022-01-27 10:54:30 +01:00
blk-integrity.c block: remove the blk_flush_integrity call in blk_integrity_unregister 2024-10-14 02:56:08 +00:00
blk-ioc.c block: remove retry loop in ioc_release_fn() 2020-07-16 10:22:15 -06:00
blk-iocost.c blk-iocost: Avoid using clamp() on inuse in __propagate_weights() 2025-01-20 06:55:43 +00:00
blk-iolatency.c blk-iolatency: Fix inflight count imbalances and IO hangs on offline 2022-06-09 10:21:29 +02:00
blk-lib.c block: add a bdev_is_partition helper 2020-09-25 08:18:57 -06:00
blk-map.c block: add blk_rq_map_user_io 2024-12-16 08:39:13 +00:00
blk-merge.c anolis: virtio-blk: add blk_rq_map_sg_bidirectional helper 2025-02-05 10:14:00 +08:00
blk-mq-cpumap.c blk-mq: remove the calling of local_memory_node() 2020-10-20 07:08:17 -06:00
blk-mq-debugfs-zoned.c block: Cleanup license notice 2019-01-17 21:21:40 -07:00
blk-mq-debugfs.c block: rename REQ_HIPRI to REQ_POLLED 2024-11-26 01:40:15 +00:00
blk-mq-debugfs.h blk-mq: no need to check return value of debugfs_create functions 2019-06-13 03:00:30 -06:00
blk-mq-pci.c block: Fix blk_mq_*_map_queues() kernel-doc headers 2019-05-31 15:12:34 -06:00
blk-mq-rdma.c block: Fix blk_mq_*_map_queues() kernel-doc headers 2019-05-31 15:12:34 -06:00
blk-mq-sched.c block: limit request dispatch loop duration 2022-04-08 14:39:55 +02:00
blk-mq-sched.h block-5.10-2020-10-12 2020-10-13 12:12:44 -07:00
blk-mq-sysfs.c blk-mq: fix possible memleak when register 'hctx' failed 2024-01-11 03:38:36 +00:00
blk-mq-tag.c block: add support for blk_mq_end_request_batch() 2024-12-09 06:40:29 +00:00
blk-mq-tag.h block: add support for blk_mq_end_request_batch() 2024-12-09 06:40:29 +00:00
blk-mq-virtio.c blk-mq: Fix typo in comment 2020-03-17 20:55:21 +01:00
blk-mq.c anolis: blk-mq: support dynamic request alloc 2025-03-28 14:53:56 +00:00
blk-mq.h blk-mq: update hctx->nr_active in blk_mq_end_request_batch() 2025-03-14 03:16:50 +00:00
blk-pm.c scsi: block: pm: Always set request queue runtime active in blk_post_runtime_resume() 2022-01-27 10:54:08 +01:00
blk-pm.h scsi: block: Do not accept any requests while suspended 2021-01-12 20:18:17 +01:00
blk-rq-qos.c blk-rq-qos: fix crash on rq_qos_wait vs. rq_qos_wake_function race 2024-12-23 08:53:39 +00:00
blk-rq-qos.h block: fix race between adding/removing rq qos and normal IO 2021-07-14 16:56:00 +02:00
blk-settings.c block: Clear zone limits for a non-zoned stacked queue 2024-07-10 07:05:11 +00:00
blk-stat.c block: prevent division by zero in blk_rq_stat_sum() 2024-07-10 07:05:11 +00:00
blk-stat.h
blk-sysfs.c block: don't allow writing to the poll queue attribute 2024-11-26 01:40:15 +00:00
blk-throttle.c blk-throttle: check for overflow in calculate_bytes_allowed 2024-08-08 10:50:50 +00:00
blk-timeout.c anolis: block: I/O error occurs during SATA disk stress test 2022-08-02 16:47:03 +08:00
blk-wbt.c blk-wbt: fix that 'rwb->wc' is always set to 1 in wbt_init() 2024-08-05 02:06:43 +00:00
blk-wbt.h blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled() 2021-07-14 16:56:12 +02:00
blk-zoned.c blk-zoned: allow BLKREPORTZONE without CAP_SYS_ADMIN 2021-09-18 13:40:06 +02:00
blk.h block: switch polling to be bio based 2024-11-26 01:40:15 +00:00
bounce.c block: make bio_crypt_clone() able to fail 2020-10-05 10:47:43 -06:00
bsg-lib.c block: drop double zeroing 2020-09-23 09:18:13 -06:00
bsg.c block: remove unnecessary argument from blk_execute_rq 2024-11-26 01:40:15 +00:00
cmdline-parser.c
elevator.c blk-mq: set default elevator as deadline in case of hctx shared tagset 2024-12-17 08:57:08 +00:00
genhd.c scsi: remove unused kobj map for sd devie to avoid memleak 2024-12-17 08:57:08 +00:00
ioctl.c block/ioctl: prefer different overflow check 2024-10-14 02:56:08 +00:00
ioprio.c block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2) 2021-12-14 11:32:40 +01:00
keyslot-manager.c block/keyslot-manager: prevent crash when num_slots=1 2020-11-20 11:52:52 -07:00
kyber-iosched.c blk-mq: Improve performance of non-mq IO schedulers with multiple HW queues 2024-07-25 08:02:13 +00:00
mq-deadline.c Revert "blk-mq, elevator: Count requests per hctx to improve performance" 2024-07-25 08:02:13 +00:00
opal_proto.h block: sed-opal: Change the check condition for regular session validity 2020-03-12 08:00:10 -06:00
scsi_ioctl.c block: remove unnecessary argument from blk_execute_rq 2024-11-26 01:40:15 +00:00
sed-opal.c block: sed-opal: Change the check condition for regular session validity 2020-03-12 08:00:10 -06:00
t10-pi.c block: Allow t10-pi to be modular 2020-01-06 20:59:04 -07:00