Go to file
Chengming Zhou afd04542cf blk-mq: fix tags UAF when shrinking q->nr_hw_queues
[ Upstream commit 6be6d11241 ]

When nr_hw_queues shrink, we free the excess tags before realloc'ing
hw_ctxs for each queue. During that resize, we may need to access those
tags, like blk_mq_tag_idle(hctx) will access queue shared tags.

This can cause a slab use-after-free, as reported by KASAN. Fix it by
moving the releasing of excess tags to the end.

Fixes: e1dd7bc930 ("blk-mq: fix tags leak when shrink nr_hw_queues")
Reported-by: Yi Zhang <yi.zhang@redhat.com>
Closes: https://lore.kernel.org/all/CAHj4cs_CK63uoDpGBGZ6DN4OCTpzkR3UaVgK=LX8Owr8ej2ieQ@mail.gmail.com/
Cc: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Link: https://lore.kernel.org/r/20230908005702.2183908-1-chengming.zhou@linux.dev
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-09-23 11:14:33 +02:00
Documentation perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09 2023-09-23 11:14:18 +02:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
arch x86/purgatory: Remove LTO flags 2023-09-23 11:14:33 +02:00
block blk-mq: fix tags UAF when shrinking q->nr_hw_queues 2023-09-23 11:14:33 +02:00
certs KEYS: Add missing function documentation 2023-04-24 16:15:52 +03:00
crypto crypto: lrw,xts - Replace strlcpy with strscpy 2023-09-23 11:14:19 +02:00
drivers ata: libata-core: fetch sense data for successful commands iff CDL enabled 2023-09-23 11:14:33 +02:00
fs efivarfs: fix statfs() on efivarfs 2023-09-23 11:14:32 +02:00
include x86/ibt: Suppress spurious ENDBR 2023-09-23 11:14:32 +02:00
init sched/psi: Select KERNFS as needed 2023-09-13 09:52:59 +02:00
io_uring io_uring: annotate the struct io_kiocb slab for appropriate user copy 2023-09-23 11:14:25 +02:00
ipc Merge branch 'work.namespace' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2023-02-24 19:20:07 -08:00
kernel panic: Reenable preemption in WARN slowpath 2023-09-23 11:14:33 +02:00
lib kobject: Add sanity check for kset->kobj.ktype in kset_register() 2023-09-23 11:14:29 +02:00
mm vm: fix move_vma() memory accounting being off 2023-09-19 12:30:30 +02:00
net wifi: mac80211: check for station first in client probe 2023-09-23 11:14:22 +02:00
rust rust: macros: vtable: fix `HAS_*` redefinition (`gen_const_name`) 2023-08-09 21:15:07 +02:00
samples samples/hw_breakpoint: fix building without module unloading 2023-09-23 11:14:33 +02:00
scripts linux/export: fix reference to exported functions for parisc64 2023-09-19 12:30:21 +02:00
security smackfs: Prevent underflow in smk_set_cipso() 2023-09-13 09:53:22 +02:00
sound ASoC: SOF: amd: clear panic mask status when panic occurs 2023-09-23 11:14:26 +02:00
tools selftests: tracing: Fix to unmount tracefs for recovering environment 2023-09-23 11:14:32 +02:00
usr initramfs: Encode dependency on KBUILD_BUILD_TIMESTAMP 2023-06-06 17:54:49 +09:00
virt kvm/vfio: ensure kvg instance stays around in kvm_vfio_group_add() 2023-09-13 09:53:29 +02:00
.clang-format iommu: Add for_each_group_device() 2023-05-23 08:15:51 +02:00
.cocciconfig
.get_maintainer.ignore get_maintainer: add Alan to .get_maintainer.ignore 2022-08-20 15:17:44 -07:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore Revert ".gitignore: ignore *.cover and *.mbx" 2023-07-04 15:05:12 -07:00
.mailmap mailmap: add entries for Simon Horman 2023-08-16 09:53:10 +01:00
.rustfmt.toml rust: add `.rustfmt.toml` 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS - Address -Wmissing-prototype warnings 2023-06-26 16:43:54 -07:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS sound fixes for 6.5 2023-08-25 08:48:14 -07:00
Makefile Linux 6.5.4 2023-09-19 12:30:30 +02:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.