Go to file
Ming Lei 68afb02d21 block: check bio alignment in blk_mq_submit_bio
commit 0676c434a9 upstream.

IO logical block size is one fundamental queue limit, and every IO has
to be aligned with logical block size because our bio split can't deal
with unaligned bio.

The check has to be done with queue usage counter grabbed because device
reconfiguration may change logical block size, and we can prevent the
reconfiguration from happening by holding queue usage counter.

logical_block_size stays in the 1st cache line of queue_limits, and this
cache line is always fetched in fast path via bio_may_exceed_limits(),
so IO perf won't be affected by this check.

Cc: Yi Zhang <yi.zhang@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Ye Bin <yebin10@huawei.com>
Cc: stable@vger.kernel.org
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20240620030631.3114026-1-ming.lei@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-03 09:00:37 +02:00
arch m68k: amiga: Turn off Warp1260 interrupts during boot 2024-08-03 09:00:36 +02:00
block block: check bio alignment in blk_mq_submit_bio 2024-08-03 09:00:37 +02:00
certs kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
crypto This push fixes a bug in the new ecc P521 code as well as a buggy 2024-05-20 08:47:54 -07:00
Documentation dt-bindings: thermal: correct thermal zone node name limit 2024-08-03 09:00:30 +02:00
drivers drm/amd/display: Check for NULL pointer 2024-08-03 09:00:35 +02:00
fs udf: Avoid using corrupted block bitmap buffer 2024-08-03 09:00:36 +02:00
include m68k: amiga: Turn off Warp1260 interrupts during boot 2024-08-03 09:00:36 +02:00
init gcc: disable '-Warray-bounds' for gcc-9 2024-06-15 10:43:04 -07:00
io_uring io_uring/io-wq: limit retrying worker initialisation 2024-08-03 09:00:34 +02:00
ipc Mainly singleton patches, documented in their respective changelogs. 2024-05-19 14:02:03 -07:00
kernel task_work: Introduce task_work_cancel() again 2024-08-03 09:00:36 +02:00
lib sbitmap: fix io hung due to race on sbitmap_word::cleared 2024-08-03 09:00:26 +02:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm mm/mglru: fix ineffective protection calculation 2024-08-03 09:00:29 +02:00
net wifi: mac80211: chanctx emulation set CHANGE_CHANNEL when in_reconfig 2024-08-03 09:00:32 +02:00
rust rust: avoid unused import warning in rusttest 2024-06-11 23:33:28 +02:00
samples tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
scripts x86/syscall: Mark exit[_group] syscall handlers __noreturn 2024-08-03 08:59:12 +02:00
security task_work: s/task_work_cancel()/task_work_cancel_func()/ 2024-08-03 09:00:36 +02:00
sound ASoC: amd: Adjust error handling in case of absent codec device 2024-08-03 09:00:14 +02:00
tools selftests/nolibc: fix printf format mismatch in expect_str_buf_eq() 2024-08-03 09:00:33 +02:00
usr kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
virt KVM fixes for 6.10 2024-06-21 08:03:55 -04:00
.clang-format clang-format: Update with v6.7-rc4's for_each macro list 2023-12-08 23:54:38 +01:00
.cocciconfig
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-13 16:47:52 +02:00
.get_maintainer.ignore Add Jeff Kirsher to .get_maintainer.ignore 2024-03-08 11:36:54 +00:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore kbuild: create a list of all built DTB files 2024-02-19 18:20:39 +09:00
.mailmap MAINTAINERS: mailmap: update Lorenzo Stoakes's email address 2024-07-06 11:39:51 -07: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 pci-v6.10-fixes-2 2024-07-05 12:33:00 -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 Fixes for the I2C testunit, the Renesas R-Car driver and some 2024-07-13 16:34:22 -07:00
Makefile Linux 6.10.2 2024-07-27 11:40:36 +02:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

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 reStructuredText 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.