No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Ming Lei 310d75f274 block: fix splitting segments on boundary masks
commit 429120f3df2dba2bf3a4a19f4212a53ecefc7102 upstream.

We ran into a problem with a mpt3sas based controller, where we would
see random (and hard to reproduce) file corruption). The issue seemed
specific to this controller, but wasn't specific to the file system.
After a lot of debugging, we find out that it's caused by segments
spanning a 4G memory boundary. This shouldn't happen, as the default
setting for segment boundary masks is 4G.

Turns out there are two issues in get_max_segment_size():

1) The default segment boundary mask is bypassed

2) The segment start address isn't taken into account when checking
   segment boundary limit

Fix these two issues by removing the bypass of the segment boundary
check even if the mask is set to the default value, and taking into
account the actual start address of the request when checking if a
segment needs splitting.

Cc: stable@vger.kernel.org # v5.1+
Reviewed-by: Chris Mason <clm@fb.com>
Tested-by: Chris Mason <clm@fb.com>
Fixes: dcebd75592 ("block: use bio_for_each_bvec() to compute multi-page bvec count")
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Dropped const on the page pointer, ppc page_to_phys() doesn't mark the
page as const...

Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-07-22 09:33:17 +02:00
arch genirq/affinity: Handle affinity setting on inactive interrupts correctly 2020-07-22 09:33:16 +02:00
block block: fix splitting segments on boundary masks 2020-07-22 09:33:17 +02:00
certs
crypto
Documentation
drivers drm/i915/gt: Ignore irq enabling on the virtual engines 2020-07-22 09:33:17 +02:00
fs fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS 2020-07-22 09:33:12 +02:00
include Input: elan_i2c - add more hardware ID for Lenovo laptops 2020-07-22 09:33:13 +02:00
init
ipc
kernel genirq/affinity: Handle affinity setting on inactive interrupts correctly 2020-07-22 09:33:16 +02:00
lib
LICENSES
mm
net
samples
scripts
security
sound ALSA: hda/realtek - Enable Speaker for ASUS UX563 2020-07-22 09:33:09 +02:00
tools perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode 2020-07-22 09:33:05 +02:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
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.