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
Ahmed S. Darwish 859a0a9afe block: nr_sects_write(): Disable preemption on seqcount write
[ Upstream commit 15b81ce5abdc4b502aa31dff2d415b79d2349d2f ]

For optimized block readers not holding a mutex, the "number of sectors"
64-bit value is protected from tearing on 32-bit architectures by a
sequence counter.

Disable preemption before entering that sequence counter's write side
critical section. Otherwise, the read side can preempt the write side
section and spin for the entire scheduler tick. If the reader belongs to
a real-time scheduling class, it can spin forever and the kernel will
livelock.

Fixes: c83f6bf98d ("block: add partition resize function to blkpg ioctl")
Cc: <stable@vger.kernel.org>
Signed-off-by: Ahmed S. Darwish <a.darwish@linutronix.de>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-06-24 17:50:49 +02:00
arch x86/boot/compressed: Relax sed symbol type regex for LLVM ld.lld 2020-06-24 17:50:49 +02:00
block iocost: don't let vrate run wild while there's no saturation signal 2020-06-22 09:31:06 +02:00
certs
crypto crypto: drbg - fix error return code in drbg_alloc_state() 2020-06-17 16:40:31 +02:00
Documentation dt-bindings: display: mediatek: control dpi pins mode to avoid leakage 2020-06-22 09:30:58 +02:00
drivers drm/amd/display: Use swap() where appropriate 2020-06-24 17:50:49 +02:00
fs ext4: avoid race conditions when remounting with options that change dax 2020-06-24 17:50:48 +02:00
include block: nr_sects_write(): Disable preemption on seqcount write 2020-06-24 17:50:49 +02:00
init x86: Fix early boot crash on gcc-10, third try 2020-05-20 08:20:34 +02:00
ipc ipc/util.c: sysvipc_find_ipc() incorrectly updates position index 2020-05-20 08:20:16 +02:00
kernel tracing/probe: Fix bpf_task_fd_query() for kprobes and uprobes 2020-06-24 17:50:43 +02:00
lib lib/zlib: remove outdated and incorrect pre-increment optimization 2020-06-24 17:50:39 +02:00
LICENSES
mm mm: call cond_resched() from deferred_init_memmap() 2020-06-22 09:31:14 +02:00
net bpf: Fix memlock accounting for sock_hash 2020-06-24 17:50:44 +02:00
samples samples: bpf: Fix build error 2020-06-03 08:21:15 +02:00
scripts scripts: headers_install: Exit with error on config leak 2020-06-24 17:50:33 +02:00
security selinux: fix double free 2020-06-24 17:50:48 +02:00
sound ASoC: rt5645: Add platform-data for Asus T101HA 2020-06-24 17:50:42 +02:00
tools perf stat: Fix NULL pointer dereference 2020-06-24 17:50:45 +02:00
usr
virt KVM: arm64: Save the host's PtrAuth keys in non-preemptible context 2020-06-17 16:40:38 +02:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile Linux 5.4.48 2020-06-22 09:31:27 +02: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.