Go to file
Al Viro e86a6ad9b3 do_umount(): add missing barrier before refcount checks in sync case
[ Upstream commit 65781e19dc ]

do_umount() analogue of the race fixed in 119e1ef80e "fix
__legitimize_mnt()/mntput() race".  Here we want to make sure that
if __legitimize_mnt() doesn't notice our lock_mount_hash(), we will
notice their refcount increment.  Harder to hit than mntput_no_expire()
one, fortunately, and consequences are milder (sync umount acting
like umount -l on a rare race with RCU pathwalk hitting at just the
wrong time instead of use-after-free galore mntput_no_expire()
counterpart used to be hit).  Still a bug...

Fixes: 48a066e72d ("RCU'd vfsmounts")
Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 00f0dd1a0166e1ed8adeb50a6e345b4fd7878431)
2025-05-23 23:47:20 +08:00
.github/workflows CI: check-config: update generic config whitelist 2025-04-21 22:13:59 +08:00
Documentation dt-bindings: npu: Add bindings for Phytium NPU on pe230x 2025-05-15 11:45:23 +08:00
LICENSES LICENSES: add 0BSD license text 2025-01-18 13:07:45 +08:00
arch MIPS: Fix MAX_REG_OFFSET 2025-05-23 23:47:19 +08:00
block block: fix resource leak in blk_register_queue() error path 2025-05-09 18:47:32 +08:00
certs sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3 2025-05-09 22:54:46 +08:00
crypto crypto: null - Use spin lock instead of mutex 2025-05-09 23:02:40 +08:00
deepin deepin: OWNERS: Add winnscode to reviewers 2024-12-10 20:42:15 +08:00
drivers nvme: unblock ctrl state transition for firmware update 2025-05-23 23:47:20 +08:00
fs do_umount(): add missing barrier before refcount checks in sync case 2025-05-23 23:47:20 +08:00
include types: Complement the aligned types with signed 64-bit one 2025-05-23 23:47:18 +08:00
init sched/isolation: Make CONFIG_CPU_ISOLATION depend on CONFIG_SMP 2025-05-09 23:02:50 +08:00
io_uring io_uring: always do atomic put from iowq 2025-05-09 23:02:50 +08:00
ipc Export symbols needed by binder 2024-12-31 11:42:52 +08:00
kernel module: ensure that kobject_put() is safe for module type kobjects 2025-05-23 23:46:06 +08:00
lib xarray: inline xas_descend to improve performance 2025-05-12 13:34:27 +08:00
mm Haoc: Support pointer protection for ARM64 IEE (IEE_PTRP). 2025-05-12 15:02:47 +08:00
net bpf: Scrub packet on bpf_redirect_peer 2025-05-23 23:45:52 +08:00
rust rust: lockdep: Remove support for dynamically allocated LockClassKeys 2025-03-23 19:56:38 +08:00
samples tracing: Verify event formats that have "%*p.." 2025-05-09 22:54:58 +08:00
scripts objtool: Silence more KCOV warnings, part 2 2025-05-09 23:03:07 +08:00
security HAOC: Add support for x86 CRED Protection (CREDP). 2025-05-12 15:02:47 +08:00
sound ALSA: hda: Add FTHD0001 match for Phytium 2025-05-12 22:02:03 +08:00
tools KVM: selftests: x86: Prioritize getting max_gfn from GuestPhysBits 2025-05-11 18:00:23 +08:00
usr kbuild: hdrcheck: fix cross build with clang 2025-03-18 15:26:16 +08:00
virt KVM: Use dedicated mutex to protect kvm_usage_count to avoid deadlock 2024-12-10 20:42:04 +08: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 Remove *.orig pattern from .gitignore 2024-12-10 20:42:03 +08:00
.mailmap 20 hotfixes. 12 are cc:stable and the remainder address post-6.5 issues 2023-10-24 09:52:16 -10: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 fs: Remove NTFS classic 2024-12-10 20:39:15 +08: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 heap: dma-buf: Add the dma-buf for Phytium NPU driver 2025-05-15 11:45:23 +08:00
Makefile Linux 6.6.90 2025-05-09 23:17:04 +08:00
README

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.