From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Paulo Dias <paulo.miguel.dias@gmail.com>,
Andreas Jahn <jahn-andi@web.de>,
syzbot+4704b3cc972bd76024f1@syzkaller.appspotmail.com,
Josef Bacik <josef@toxicpanda.com>,
Filipe Manana <fdmanana@suse.com>,
David Sterba <dsterba@suse.com>
Subject: [PATCH 6.1 188/192] btrfs: fix race between direct IO write and fsync when using same fd
Date: Tue, 10 Sep 2024 11:33:32 +0200 [thread overview]
Message-ID: <20240910092605.545353129@linuxfoundation.org> (raw)
In-Reply-To: <20240910092557.876094467@linuxfoundation.org>
6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Filipe Manana <fdmanana@suse.com>
commit cd9253c23aedd61eb5ff11f37a36247cd46faf86 upstream.
If we have 2 threads that are using the same file descriptor and one of
them is doing direct IO writes while the other is doing fsync, we have a
race where we can end up either:
1) Attempt a fsync without holding the inode's lock, triggering an
assertion failures when assertions are enabled;
2) Do an invalid memory access from the fsync task because the file private
points to memory allocated on stack by the direct IO task and it may be
used by the fsync task after the stack was destroyed.
The race happens like this:
1) A user space program opens a file descriptor with O_DIRECT;
2) The program spawns 2 threads using libpthread for example;
3) One of the threads uses the file descriptor to do direct IO writes,
while the other calls fsync using the same file descriptor.
4) Call task A the thread doing direct IO writes and task B the thread
doing fsyncs;
5) Task A does a direct IO write, and at btrfs_direct_write() sets the
file's private to an on stack allocated private with the member
'fsync_skip_inode_lock' set to true;
6) Task B enters btrfs_sync_file() and sees that there's a private
structure associated to the file which has 'fsync_skip_inode_lock' set
to true, so it skips locking the inode's VFS lock;
7) Task A completes the direct IO write, and resets the file's private to
NULL since it had no prior private and our private was stack allocated.
Then it unlocks the inode's VFS lock;
8) Task B enters btrfs_get_ordered_extents_for_logging(), then the
assertion that checks the inode's VFS lock is held fails, since task B
never locked it and task A has already unlocked it.
The stack trace produced is the following:
assertion failed: inode_is_locked(&inode->vfs_inode), in fs/btrfs/ordered-data.c:983
------------[ cut here ]------------
kernel BUG at fs/btrfs/ordered-data.c:983!
Oops: invalid opcode: 0000 [#1] PREEMPT SMP PTI
CPU: 9 PID: 5072 Comm: worker Tainted: G U OE 6.10.5-1-default #1 openSUSE Tumbleweed 69f48d427608e1c09e60ea24c6c55e2ca1b049e8
Hardware name: Acer Predator PH315-52/Covini_CFS, BIOS V1.12 07/28/2020
RIP: 0010:btrfs_get_ordered_extents_for_logging.cold+0x1f/0x42 [btrfs]
Code: 50 d6 86 c0 e8 (...)
RSP: 0018:ffff9e4a03dcfc78 EFLAGS: 00010246
RAX: 0000000000000054 RBX: ffff9078a9868e98 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffff907dce4a7800 RDI: ffff907dce4a7800
RBP: ffff907805518800 R08: 0000000000000000 R09: ffff9e4a03dcfb38
R10: ffff9e4a03dcfb30 R11: 0000000000000003 R12: ffff907684ae7800
R13: 0000000000000001 R14: ffff90774646b600 R15: 0000000000000000
FS: 00007f04b96006c0(0000) GS:ffff907dce480000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f32acbfc000 CR3: 00000001fd4fa005 CR4: 00000000003726f0
Call Trace:
<TASK>
? __die_body.cold+0x14/0x24
? die+0x2e/0x50
? do_trap+0xca/0x110
? do_error_trap+0x6a/0x90
? btrfs_get_ordered_extents_for_logging.cold+0x1f/0x42 [btrfs bb26272d49b4cdc847cf3f7faadd459b62caee9a]
? exc_invalid_op+0x50/0x70
? btrfs_get_ordered_extents_for_logging.cold+0x1f/0x42 [btrfs bb26272d49b4cdc847cf3f7faadd459b62caee9a]
? asm_exc_invalid_op+0x1a/0x20
? btrfs_get_ordered_extents_for_logging.cold+0x1f/0x42 [btrfs bb26272d49b4cdc847cf3f7faadd459b62caee9a]
? btrfs_get_ordered_extents_for_logging.cold+0x1f/0x42 [btrfs bb26272d49b4cdc847cf3f7faadd459b62caee9a]
btrfs_sync_file+0x21a/0x4d0 [btrfs bb26272d49b4cdc847cf3f7faadd459b62caee9a]
? __seccomp_filter+0x31d/0x4f0
__x64_sys_fdatasync+0x4f/0x90
do_syscall_64+0x82/0x160
? do_futex+0xcb/0x190
? __x64_sys_futex+0x10e/0x1d0
? switch_fpu_return+0x4f/0xd0
? syscall_exit_to_user_mode+0x72/0x220
? do_syscall_64+0x8e/0x160
? syscall_exit_to_user_mode+0x72/0x220
? do_syscall_64+0x8e/0x160
? syscall_exit_to_user_mode+0x72/0x220
? do_syscall_64+0x8e/0x160
? syscall_exit_to_user_mode+0x72/0x220
? do_syscall_64+0x8e/0x160
entry_SYSCALL_64_after_hwframe+0x76/0x7e
Another problem here is if task B grabs the private pointer and then uses
it after task A has finished, since the private was allocated in the stack
of task A, it results in some invalid memory access with a hard to predict
result.
This issue, triggering the assertion, was observed with QEMU workloads by
two users in the Link tags below.
Fix this by not relying on a file's private to pass information to fsync
that it should skip locking the inode and instead pass this information
through a special value stored in current->journal_info. This is safe
because in the relevant section of the direct IO write path we are not
holding a transaction handle, so current->journal_info is NULL.
The following C program triggers the issue:
$ cat repro.c
/* Get the O_DIRECT definition. */
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdint.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include <pthread.h>
static int fd;
static ssize_t do_write(int fd, const void *buf, size_t count, off_t offset)
{
while (count > 0) {
ssize_t ret;
ret = pwrite(fd, buf, count, offset);
if (ret < 0) {
if (errno == EINTR)
continue;
return ret;
}
count -= ret;
buf += ret;
}
return 0;
}
static void *fsync_loop(void *arg)
{
while (1) {
int ret;
ret = fsync(fd);
if (ret != 0) {
perror("Fsync failed");
exit(6);
}
}
}
int main(int argc, char *argv[])
{
long pagesize;
void *write_buf;
pthread_t fsyncer;
int ret;
if (argc != 2) {
fprintf(stderr, "Use: %s <file path>\n", argv[0]);
return 1;
}
fd = open(argv[1], O_WRONLY | O_CREAT | O_TRUNC | O_DIRECT, 0666);
if (fd == -1) {
perror("Failed to open/create file");
return 1;
}
pagesize = sysconf(_SC_PAGE_SIZE);
if (pagesize == -1) {
perror("Failed to get page size");
return 2;
}
ret = posix_memalign(&write_buf, pagesize, pagesize);
if (ret) {
perror("Failed to allocate buffer");
return 3;
}
ret = pthread_create(&fsyncer, NULL, fsync_loop, NULL);
if (ret != 0) {
fprintf(stderr, "Failed to create writer thread: %d\n", ret);
return 4;
}
while (1) {
ret = do_write(fd, write_buf, pagesize, 0);
if (ret != 0) {
perror("Write failed");
exit(5);
}
}
return 0;
}
$ mkfs.btrfs -f /dev/sdi
$ mount /dev/sdi /mnt/sdi
$ timeout 10 ./repro /mnt/sdi/foo
Usually the race is triggered within less than 1 second. A test case for
fstests will follow soon.
Reported-by: Paulo Dias <paulo.miguel.dias@gmail.com>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=219187
Reported-by: Andreas Jahn <jahn-andi@web.de>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=219199
Reported-by: syzbot+4704b3cc972bd76024f1@syzkaller.appspotmail.com
Link: https://lore.kernel.org/linux-btrfs/00000000000044ff540620d7dee2@google.com/
Fixes: 939b656bc8ab ("btrfs: fix corruption after buffer fault in during direct IO append write")
CC: stable@vger.kernel.org # 5.15+
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
---
fs/btrfs/ctree.h | 1 -
fs/btrfs/file.c | 25 ++++++++++---------------
fs/btrfs/transaction.h | 6 ++++++
3 files changed, 16 insertions(+), 16 deletions(-)
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -1553,7 +1553,6 @@ struct btrfs_drop_extents_args {
struct btrfs_file_private {
void *filldir_buf;
u64 last_index;
- bool fsync_skip_inode_lock;
};
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1534,13 +1534,6 @@ again:
if (IS_ERR_OR_NULL(dio)) {
err = PTR_ERR_OR_ZERO(dio);
} else {
- struct btrfs_file_private stack_private = { 0 };
- struct btrfs_file_private *private;
- const bool have_private = (file->private_data != NULL);
-
- if (!have_private)
- file->private_data = &stack_private;
-
/*
* If we have a synchoronous write, we must make sure the fsync
* triggered by the iomap_dio_complete() call below doesn't
@@ -1549,13 +1542,10 @@ again:
* partial writes due to the input buffer (or parts of it) not
* being already faulted in.
*/
- private = file->private_data;
- private->fsync_skip_inode_lock = true;
+ ASSERT(current->journal_info == NULL);
+ current->journal_info = BTRFS_TRANS_DIO_WRITE_STUB;
err = iomap_dio_complete(dio);
- private->fsync_skip_inode_lock = false;
-
- if (!have_private)
- file->private_data = NULL;
+ current->journal_info = NULL;
}
/* No increment (+=) because iomap returns a cumulative value. */
@@ -1795,7 +1785,6 @@ static inline bool skip_inode_logging(co
*/
int btrfs_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
{
- struct btrfs_file_private *private = file->private_data;
struct dentry *dentry = file_dentry(file);
struct inode *inode = d_inode(dentry);
struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
@@ -1805,7 +1794,13 @@ int btrfs_sync_file(struct file *file, l
int ret = 0, err;
u64 len;
bool full_sync;
- const bool skip_ilock = (private ? private->fsync_skip_inode_lock : false);
+ bool skip_ilock = false;
+
+ if (current->journal_info == BTRFS_TRANS_DIO_WRITE_STUB) {
+ skip_ilock = true;
+ current->journal_info = NULL;
+ lockdep_assert_held(&inode->i_rwsem);
+ }
trace_btrfs_sync_file(file, datasync);
--- a/fs/btrfs/transaction.h
+++ b/fs/btrfs/transaction.h
@@ -11,6 +11,12 @@
#include "delayed-ref.h"
#include "ctree.h"
+/*
+ * Signal that a direct IO write is in progress, to avoid deadlock for sync
+ * direct IO writes when fsync is called during the direct IO write path.
+ */
+#define BTRFS_TRANS_DIO_WRITE_STUB ((void *) 1)
+
enum btrfs_trans_state {
TRANS_STATE_RUNNING,
TRANS_STATE_COMMIT_START,
next prev parent reply other threads:[~2024-09-10 10:14 UTC|newest]
Thread overview: 205+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-10 9:30 [PATCH 6.1 000/192] 6.1.110-rc1 review Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 001/192] sch/netem: fix use after free in netem_dequeue Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 002/192] ASoC: dapm: Fix UAF for snd_soc_pcm_runtime object Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 003/192] KVM: x86: Acquire kvm->srcu when handling KVM_SET_VCPU_EVENTS Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 004/192] KVM: SVM: fix emulation of msr reads/writes of MSR_FS_BASE and MSR_GS_BASE Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 005/192] KVM: SVM: Dont advertise Bus Lock Detect to guest if SVM support is missing Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 006/192] ALSA: hda/conexant: Add pincfg quirk to enable top speakers on Sirius devices Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 007/192] ALSA: hda/realtek: add patch for internal mic in Lenovo V145 Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 008/192] ALSA: hda/realtek: Support mute LED on HP Laptop 14-dq2xxx Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 009/192] ksmbd: unset the binding mark of a reused connection Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 010/192] ksmbd: Unlock on in ksmbd_tcp_set_interfaces() Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 011/192] ata: libata: Fix memory leak for error path in ata_host_alloc() Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 012/192] x86/tdx: Fix data leak in mmio_read() Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 013/192] perf/x86/intel: Limit the period on Haswell Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 014/192] irqchip/gic-v2m: Fix refcount leak in gicv2m_of_init() Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 015/192] x86/kaslr: Expose and use the end of the physical memory address space Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 016/192] rtmutex: Drop rt_mutex::wait_lock before scheduling Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 017/192] nvme-pci: Add sleep quirk for Samsung 990 Evo Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 018/192] Revert "Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE" Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 019/192] Bluetooth: MGMT: Ignore keys being loaded with invalid type Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 020/192] mmc: core: apply SD quirks earlier during probe Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 021/192] mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 022/192] mmc: sdhci-of-aspeed: fix module autoloading Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 023/192] mmc: cqhci: Fix checking of CQHCI_HALT state Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 024/192] fuse: update stats for pages in dropped aux writeback list Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 025/192] fuse: use unsigned type for getxattr/listxattr size truncation Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 026/192] clk: qcom: clk-alpha-pll: Fix the pll post div mask Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 027/192] clk: qcom: clk-alpha-pll: Fix the trion pll postdiv set rate API Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 028/192] clk: qcom: clk-alpha-pll: Fix zonda set_rate failure when PLL is disabled Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 029/192] clk: qcom: clk-alpha-pll: Update set_rate for Zonda PLL Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 030/192] can: mcp251x: fix deadlock if an interrupt occurs during mcp251x_open Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 031/192] spi: rockchip: Resolve unbalanced runtime PM / system PM handling Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 032/192] tracing: Avoid possible softlockup in tracing_iter_reset() Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 033/192] net: mctp-serial: Fix missing escapes on transmit Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 034/192] x86/fpu: Avoid writing LBR bit to IA32_XSS unless supported Greg Kroah-Hartman
2024-09-10 9:30 ` [PATCH 6.1 035/192] Revert "drm/amdgpu: align pp_power_profile_mode with kernel docs" Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 036/192] tcp_bpf: fix return value of tcp_bpf_sendmsg() Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 037/192] ila: call nf_unregister_net_hooks() sooner Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 038/192] sched: sch_cake: fix bulk flow accounting logic for host fairness Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 039/192] nilfs2: fix missing cleanup on rollforward recovery error Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 040/192] nilfs2: protect references to superblock parameters exposed in sysfs Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 041/192] nilfs2: fix state management in error path of log writing function Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 042/192] ALSA: control: Apply sanity check of input values for user elements Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 043/192] ALSA: hda: Add input value sanity checks to HDMI channel map controls Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 044/192] smack: unix sockets: fix accept()ed socket label Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 045/192] ELF: fix kernel.randomize_va_space double read Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 046/192] irqchip/armada-370-xp: Do not allow mapping IRQ 0 and 1 Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 047/192] af_unix: Remove put_pid()/put_cred() in copy_peercred() Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 048/192] x86/kmsan: Fix hook for unaligned accesses Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 049/192] iommu: sun50i: clear bypass register Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 050/192] netfilter: nf_conncount: fix wrong variable type Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 051/192] udf: Avoid excessive partition lengths Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 052/192] fs/ntfs3: One more reason to mark inode bad Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 053/192] media: vivid: fix wrong sizeimage value for mplane Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 054/192] leds: spi-byte: Call of_node_put() on error path Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 055/192] wifi: brcmsmac: advertise MFP_CAPABLE to enable WPA3 Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 056/192] usb: uas: set host status byte on data completion error Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 057/192] usb: gadget: aspeed_udc: validate endpoint index for ast udc Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 058/192] drm/amd/display: Check HDCP returned status Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 059/192] drm/amdgpu: Fix smatch static checker warning Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 060/192] drm/amdgpu: clear RB_OVERFLOW bit when enabling interrupts Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 061/192] media: vivid: dont set HDMI TX controls if there are no HDMI outputs Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 062/192] PCI: keystone: Add workaround for Errata #i2037 (AM65x SR 1.0) Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 063/192] Input: ili210x - use kvmalloc() to allocate buffer for firmware update Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 064/192] media: qcom: camss: Add check for v4l2_fwnode_endpoint_parse Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 065/192] pcmcia: Use resource_size function on resource object Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 066/192] drm/amd/display: Check denominator pbn_div before used Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 067/192] drm/amdgpu: check for LINEAR_ALIGNED correctly in check_tiling_flags_gfx6 Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 068/192] can: bcm: Remove proc entry when dev is unregistered Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 069/192] can: m_can: Release irq on error in m_can_open Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 070/192] can: mcp251xfd: fix ring configuration when switching from CAN-CC to CAN-FD mode Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 071/192] rust: Use awk instead of recent xargs Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 072/192] rust: kbuild: fix export of bss symbols Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 073/192] cifs: Fix FALLOC_FL_ZERO_RANGE to preflush buffered part of target region Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 074/192] igb: Fix not clearing TimeSync interrupts for 82580 Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 075/192] ice: Add netif_device_attach/detach into PF reset flow Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 076/192] platform/x86: dell-smbios: Fix error path in dell_smbios_init() Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 077/192] regulator: Add of_regulator_bulk_get_all Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 078/192] regulator: core: Stub devm_regulator_bulk_get_const() if !CONFIG_REGULATOR Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 079/192] igc: Unlock on error in igc_io_resume() Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 080/192] ice: Use ice_max_xdp_frame_size() in ice_xdp_setup_prog() Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 081/192] ice: allow hot-swapping XDP programs Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 082/192] ice: do not bring the VSI up, if it was down before the XDP setup Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 083/192] usbnet: modern method to get random MAC Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 084/192] bareudp: Fix device stats updates Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 085/192] fou: Fix null-ptr-deref in GRO Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 086/192] net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 087/192] net: dsa: vsc73xx: fix possible subblocks range of CAPT block Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 088/192] firmware: cs_dsp: Dont allow writes to read-only controls Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 089/192] phy: zynqmp: Take the phy mutex in xlate Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 090/192] ASoC: topology: Properly initialize soc_enum values Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 091/192] dm init: Handle minors larger than 255 Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 092/192] iommu/vt-d: Handle volatile descriptor status read Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 093/192] cgroup: Protect css->cgroup write under css_set_lock Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 094/192] um: line: always fill *error_out in setup_one_line() Greg Kroah-Hartman
2024-09-10 9:31 ` [PATCH 6.1 095/192] devres: Initialize an uninitialized struct member Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 096/192] pci/hotplug/pnv_php: Fix hotplug driver crash on Powernv Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 097/192] crypto: qat - fix unintentional re-enabling of error interrupts Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 098/192] hwmon: (adc128d818) Fix underflows seen when writing limit attributes Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 099/192] hwmon: (lm95234) " Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 100/192] hwmon: (nct6775-core) " Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 101/192] hwmon: (w83627ehf) " Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 102/192] libbpf: Add NULL checks to bpf_object__{prev_map,next_map} Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 103/192] drm/amdgpu: Set no_hw_access when VF request full GPU fails Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 104/192] ext4: fix possible tid_t sequence overflows Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 105/192] dma-mapping: benchmark: Dont starve others when doing the test Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 106/192] wifi: mwifiex: Do not return unused priv in mwifiex_get_priv_by_id() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 107/192] smp: Add missing destroy_work_on_stack() call in smp_call_on_cpu() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 108/192] fs/ntfs3: Check more cases when directory is corrupted Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 109/192] btrfs: replace BUG_ON with ASSERT in walk_down_proc() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 110/192] btrfs: clean up our handling of refs == 0 in snapshot delete Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 111/192] btrfs: replace BUG_ON() with error handling at update_ref_for_cow() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 112/192] riscv: set trap vector earlier Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 113/192] PCI: Add missing bridge lock to pci_bus_lock() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 114/192] tcp: Dont drop SYN+ACK for simultaneous connect() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 115/192] net: dpaa: avoid on-stack arrays of NR_CPUS elements Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 116/192] i3c: mipi-i3c-hci: Error out instead on BUG_ON() in IBI DMA setup Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 117/192] kselftests: dmabuf-heaps: Ensure the driver name is null-terminated Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 118/192] btrfs: initialize location to fix -Wmaybe-uninitialized in btrfs_lookup_dentry() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 119/192] s390/vmlinux.lds.S: Move ro_after_init section behind rodata section Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 120/192] HID: cougar: fix slab-out-of-bounds Read in cougar_report_fixup Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 121/192] HID: amd_sfh: free driver_data after destroying hid device Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 122/192] Input: uinput - reject requests with unreasonable number of slots Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 123/192] usbnet: ipheth: race between ipheth_close and error handling Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 124/192] Squashfs: sanity check symbolic link size Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 125/192] of/irq: Prevent device address out-of-bounds read in interrupt map walk Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 126/192] lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 127/192] MIPS: cevt-r4k: Dont call get_c0_compare_int if timer irq is installed Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 128/192] ata: pata_macio: Use WARN instead of BUG Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 129/192] NFSv4: Add missing rescheduling points in nfs_client_return_marked_delegations Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 130/192] selftests: mptcp: fix backport issues Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 131/192] selftests: mptcp: join: validate event numbers Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 132/192] selftests: mptcp: join: check re-re-adding ID 0 signal Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 133/192] io_uring/io-wq: stop setting PF_NO_SETAFFINITY on io-wq workers Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 134/192] io_uring/sqpoll: Do not set PF_NO_SETAFFINITY on sqpoll threads Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 135/192] tcp: process the 3rd ACK with sk_socket for TFO/MPTCP Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 136/192] staging: iio: frequency: ad9834: Validate frequency parameter value Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 137/192] iio: buffer-dmaengine: fix releasing dma channel on error Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 138/192] iio: fix scale application in iio_convert_raw_to_processed_unlocked Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 139/192] iio: adc: ad7124: fix config comparison Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 140/192] iio: adc: ad7606: remove frstdata check for serial mode Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 141/192] iio: adc: ad7124: fix chip ID mismatch Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 142/192] usb: dwc3: core: update LC timer as per USB Spec V3.2 Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 143/192] binder: fix UAF caused by offsets overwrite Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 144/192] nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 145/192] uio_hv_generic: Fix kernel NULL pointer dereference in hv_uio_rescind Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 146/192] Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 147/192] VMCI: Fix use-after-free when removing resource in vmci_resource_remove() Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 148/192] clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 149/192] clocksource/drivers/imx-tpm: Fix next event not taking effect sometime Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 150/192] clocksource/drivers/timer-of: Remove percpu irq related code Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 151/192] uprobes: Use kzalloc to allocate xol area Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 152/192] perf/aux: Fix AUX buffer serialization Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 153/192] rust: macros: provide correct provenance when constructing THIS_MODULE Greg Kroah-Hartman
2024-09-10 10:24 ` Alice Ryhl
2024-09-10 11:14 ` Miguel Ojeda
2024-09-11 12:42 ` Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 154/192] fuse: add "expire only" mode to FUSE_NOTIFY_INVAL_ENTRY Greg Kroah-Hartman
2024-09-10 9:32 ` [PATCH 6.1 155/192] fuse: allow non-extending parallel direct writes on the same file Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 156/192] fuse: add request extension Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 157/192] fuse: fix memory leak in fuse_create_open Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 158/192] x86/mm/pae: Make pmd_t similar to pte_t Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 159/192] mm: Fix pmd_read_atomic() Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 160/192] mm: Rename pmd_read_atomic() Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 161/192] userfaultfd: fix checks for huge PMDs Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 162/192] net: mana: Fix error handling in mana_create_txq/rxqs NAPI cleanup Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 163/192] workqueue: wq_watchdog_touch is always called with valid CPU Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 164/192] workqueue: Improve scalability of workqueue watchdog touch Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 165/192] ACPI: processor: Return an error if acpi_processor_get_info() fails in processor_add() Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 166/192] ACPI: processor: Fix memory leaks in error paths of processor_add() Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 167/192] arm64: acpi: Move get_cpu_for_acpi_id() to a header Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 168/192] arm64: acpi: Harden get_cpu_for_acpi_id() against missing CPU entry Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 169/192] can: mcp251xfd: mcp251xfd_handle_rxif_ring_uinc(): factor out in separate function Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 170/192] can: mcp251xfd: rx: prepare to workaround broken RX FIFO head index erratum Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 171/192] can: mcp251xfd: clarify the meaning of timestamp Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 172/192] can: mcp251xfd: rx: add workaround for erratum DS80000789E 6 of mcp2518fd Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 173/192] drm/amd: Add gfx12 swizzle mode defs Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 174/192] drm/amdgpu: handle gfx12 in amdgpu_display_verify_sizes Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 175/192] powerpc/64e: remove unused IBM HTW code Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 176/192] powerpc/64e: split out nohash Book3E 64-bit code Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 177/192] powerpc/64e: Define mmu_pte_psize static Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 178/192] ASoC: tegra: Fix CBB error during probe() Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 179/192] nvmet-tcp: fix kernel crash if commands allocation fails Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 180/192] ASoc: SOF: topology: Clear SOF link platform name upon unload Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 181/192] ASoC: sunxi: sun4i-i2s: fix LRCLK polarity in i2s mode Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 182/192] drm/i915/fence: Mark debug_fence_init_onstack() with __maybe_unused Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 183/192] drm/i915/fence: Mark debug_fence_free() " Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 184/192] gpio: rockchip: fix OF node leak in probe() Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 185/192] gpio: modepin: Enable module autoloading Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 186/192] ublk_drv: fix NULL pointer dereference in ublk_ctrl_start_recovery() Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 187/192] x86/mm: Fix PTI for i386 some more Greg Kroah-Hartman
2024-09-10 9:33 ` Greg Kroah-Hartman [this message]
2024-09-10 9:33 ` [PATCH 6.1 189/192] bpf: Silence a warning in btf_type_id_size() Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 190/192] memcg: protect concurrent access to mem_cgroup_idr Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 191/192] regulator: of: fix a NULL vs IS_ERR() check in of_regulator_bulk_get_all() Greg Kroah-Hartman
2024-09-10 9:33 ` [PATCH 6.1 192/192] fuse: add feature flag for expire-only Greg Kroah-Hartman
2024-09-10 10:35 ` [PATCH 6.1 000/192] 6.1.110-rc1 review Pavel Machek
2024-09-10 10:44 ` Greg Kroah-Hartman
2024-09-10 21:18 ` Pavel Machek
2024-09-10 12:54 ` Naresh Kamboju
2024-09-10 14:35 ` Naresh Kamboju
2024-09-11 12:54 ` Greg Kroah-Hartman
2024-09-10 18:55 ` Florian Fainelli
2024-09-10 22:05 ` Mark Brown
2024-09-10 23:30 ` Shuah Khan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240910092605.545353129@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=dsterba@suse.com \
--cc=fdmanana@suse.com \
--cc=jahn-andi@web.de \
--cc=josef@toxicpanda.com \
--cc=patches@lists.linux.dev \
--cc=paulo.miguel.dias@gmail.com \
--cc=stable@vger.kernel.org \
--cc=syzbot+4704b3cc972bd76024f1@syzkaller.appspotmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox