Linux kernel source tree
Find a file
Edward Adam Davis 8cf01d0c43
mqueue: correct the type of ro to int
The ro variable, being of type bool, caused the -EROFS return value from
mnt_want_write() to be implicitly converted to 1. This prevented the file
from being correctly acquired, thus triggering the issue reported by
syzbot [1].

Changing the type of ro to int allows the system to correctly identify
the reason for the file open failure.

[1]
KASAN: null-ptr-deref in range [0x0000000000000040-0x0000000000000047]
Call Trace:
 do_mq_open+0x5a0/0x770 ipc/mqueue.c:932
 __do_sys_mq_open ipc/mqueue.c:945 [inline]
 __se_sys_mq_open ipc/mqueue.c:938 [inline]
 __x64_sys_mq_open+0x16a/0x1c0 ipc/mqueue.c:938

Fixes: f2573685bd ("ipc: convert do_mq_open() to FD_ADD()")
Reported-by: syzbot+40f42779048f7476e2e0@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=40f42779048f7476e2e0
Tested-by: syzbot+40f42779048f7476e2e0@syzkaller.appspotmail.com
Signed-off-by: Edward Adam Davis <eadavis@qq.com>
Link: https://patch.msgid.link/tencent_369728EA76ED36CD98793A6D942C956C4C0A@qq.com
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-12-05 13:57:39 +01:00
arch arm64 FPSIMD buffer on-stack for 6.19 2025-12-02 18:53:50 -08:00
block vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
certs sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3 2024-09-20 19:52:48 +03:00
crypto arm64 FPSIMD buffer on-stack for 6.19 2025-12-02 18:53:50 -08:00
Documentation Crypto library tests for 6.19 2025-12-02 18:20:06 -08:00
drivers Random number generator updates for Linux 6.19-rc1. 2025-12-02 19:00:26 -08:00
fs autofs: fix per-dentry timeout warning 2025-12-04 09:57:51 +01:00
include Random number generator updates for Linux 6.19-rc1. 2025-12-02 19:00:26 -08:00
init A large overhaul of the restartable sequences and CID management: 2025-12-02 08:48:53 -08:00
io_uring vfs-6.19-rc1.fd_prepare.fs 2025-12-01 17:32:07 -08:00
ipc mqueue: correct the type of ro to int 2025-12-05 13:57:39 +01:00
kernel Power management updates for 6.19-rc1 2025-12-02 17:31:22 -08:00
lib arm64 FPSIMD buffer on-stack for 6.19 2025-12-02 18:53:50 -08:00
LICENSES LICENSES: Replace the obsolete address of the FSF in the GFDL-1.2 2025-07-24 11:15:39 +02:00
mm arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
net Revert "net/socket: convert sock_map_fd() to FD_ADD()" 2025-12-05 13:57:39 +01:00
rust Power management updates for 6.19-rc1 2025-12-02 17:31:22 -08:00
samples Locking updates for v6.19: 2025-12-01 19:50:58 -08:00
scripts Crypto library tests for 6.19 2025-12-02 18:20:06 -08:00
security vfs-6.19-rc1.directory.locking 2025-12-01 16:13:46 -08:00
sound ALSA: hda/realtek: Add quirk for HP ProBook 450 G8 2025-11-26 07:26:56 +01:00
tools Thermal control updates for 6.19-rc1 2025-12-02 17:49:12 -08:00
usr gen_init_cpio: Ignore fsync() returning EINVAL on pipes 2025-10-07 09:53:05 -07:00
virt A large overhaul of the restartable sequences and CID management: 2025-12-02 08:48:53 -08:00
.clang-format memblock: drop for_each_free_mem_pfn_range_in_zone_from() 2025-09-14 08:49:03 +03:00
.clippy.toml rust: clean Rust 1.88.0's warning about clippy::disallowed_macros configuration 2025-05-07 00:11:47 +02:00
.cocciconfig
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-13 16:47:52 +02:00
.get_maintainer.ignore MAINTAINERS: remove Alyssa Rosenzweig 2025-09-18 21:17:31 +02:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore .gitignore: ignore compile_commands.json globally 2025-08-12 15:53:55 -07:00
.mailmap 8 hotfixes. 4 are cc:stable, 7 are against mm/. 2025-11-26 12:38:05 -08:00
.pylintrc tools: docs: parse-headers.py: move it from sphinx dir 2025-08-29 15:54:42 -06: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 MAINTAINERS: mark ISDN subsystem as orphan 2025-10-27 17:49:45 -07:00
Kbuild sched: Make migrate_{en,dis}able() inline 2025-09-25 09:57:16 +02:00
Kconfig io_uring: Rename KConfig to Kconfig 2025-02-19 14:53:27 -07:00
MAINTAINERS Power management updates for 6.19-rc1 2025-12-02 17:31:22 -08:00
Makefile vfs-6.19-rc1.misc 2025-12-01 08:44:26 -08: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.