From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Boris Burkov <boris@bur.io>,
Qu Wenruo <wqu@suse.com>, David Sterba <dsterba@suse.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.12 194/218] btrfs: do proper folio cleanup when cow_file_range() failed
Date: Thu, 3 Jul 2025 16:42:22 +0200 [thread overview]
Message-ID: <20250703144003.961394683@linuxfoundation.org> (raw)
In-Reply-To: <20250703143955.956569535@linuxfoundation.org>
6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Qu Wenruo <wqu@suse.com>
[ Upstream commit 06f364284794f149d2abc167c11d556cf20c954b ]
[BUG]
When testing with COW fixup marked as BUG_ON() (this is involved with the
new pin_user_pages*() change, which should not result new out-of-band
dirty pages), I hit a crash triggered by the BUG_ON() from hitting COW
fixup path.
This BUG_ON() happens just after a failed btrfs_run_delalloc_range():
BTRFS error (device dm-2): failed to run delalloc range, root 348 ino 405 folio 65536 submit_bitmap 6-15 start 90112 len 106496: -28
------------[ cut here ]------------
kernel BUG at fs/btrfs/extent_io.c:1444!
Internal error: Oops - BUG: 00000000f2000800 [#1] SMP
CPU: 0 UID: 0 PID: 434621 Comm: kworker/u24:8 Tainted: G OE 6.12.0-rc7-custom+ #86
Hardware name: QEMU KVM Virtual Machine, BIOS unknown 2/2/2022
Workqueue: events_unbound btrfs_async_reclaim_data_space [btrfs]
pc : extent_writepage_io+0x2d4/0x308 [btrfs]
lr : extent_writepage_io+0x2d4/0x308 [btrfs]
Call trace:
extent_writepage_io+0x2d4/0x308 [btrfs]
extent_writepage+0x218/0x330 [btrfs]
extent_write_cache_pages+0x1d4/0x4b0 [btrfs]
btrfs_writepages+0x94/0x150 [btrfs]
do_writepages+0x74/0x190
filemap_fdatawrite_wbc+0x88/0xc8
start_delalloc_inodes+0x180/0x3b0 [btrfs]
btrfs_start_delalloc_roots+0x174/0x280 [btrfs]
shrink_delalloc+0x114/0x280 [btrfs]
flush_space+0x250/0x2f8 [btrfs]
btrfs_async_reclaim_data_space+0x180/0x228 [btrfs]
process_one_work+0x164/0x408
worker_thread+0x25c/0x388
kthread+0x100/0x118
ret_from_fork+0x10/0x20
Code: aa1403e1 9402f3ef aa1403e0 9402f36f (d4210000)
---[ end trace 0000000000000000 ]---
[CAUSE]
That failure is mostly from cow_file_range(), where we can hit -ENOSPC.
Although the -ENOSPC is already a bug related to our space reservation
code, let's just focus on the error handling.
For example, we have the following dirty range [0, 64K) of an inode,
with 4K sector size and 4K page size:
0 16K 32K 48K 64K
|///////////////////////////////////////|
|#######################################|
Where |///| means page are still dirty, and |###| means the extent io
tree has EXTENT_DELALLOC flag.
- Enter extent_writepage() for page 0
- Enter btrfs_run_delalloc_range() for range [0, 64K)
- Enter cow_file_range() for range [0, 64K)
- Function btrfs_reserve_extent() only reserved one 16K extent
So we created extent map and ordered extent for range [0, 16K)
0 16K 32K 48K 64K
|////////|//////////////////////////////|
|<- OE ->|##############################|
And range [0, 16K) has its delalloc flag cleared.
But since we haven't yet submit any bio, involved 4 pages are still
dirty.
- Function btrfs_reserve_extent() returns with -ENOSPC
Now we have to run error cleanup, which will clear all
EXTENT_DELALLOC* flags and clear the dirty flags for the remaining
ranges:
0 16K 32K 48K 64K
|////////| |
| | |
Note that range [0, 16K) still has its pages dirty.
- Some time later, writeback is triggered again for the range [0, 16K)
since the page range still has dirty flags.
- btrfs_run_delalloc_range() will do nothing because there is no
EXTENT_DELALLOC flag.
- extent_writepage_io() finds page 0 has no ordered flag
Which falls into the COW fixup path, triggering the BUG_ON().
Unfortunately this error handling bug dates back to the introduction of
btrfs. Thankfully with the abuse of COW fixup, at least it won't crash
the kernel.
[FIX]
Instead of immediately unlocking the extent and folios, we keep the extent
and folios locked until either erroring out or the whole delalloc range
finished.
When the whole delalloc range finished without error, we just unlock the
whole range with PAGE_SET_ORDERED (and PAGE_UNLOCK for !keep_locked
cases), with EXTENT_DELALLOC and EXTENT_LOCKED cleared.
And the involved folios will be properly submitted, with their dirty
flags cleared during submission.
For the error path, it will be a little more complex:
- The range with ordered extent allocated (range (1))
We only clear the EXTENT_DELALLOC and EXTENT_LOCKED, as the remaining
flags are cleaned up by
btrfs_mark_ordered_io_finished()->btrfs_finish_one_ordered().
For folios we finish the IO (clear dirty, start writeback and
immediately finish the writeback) and unlock the folios.
- The range with reserved extent but no ordered extent (range(2))
- The range we never touched (range(3))
For both range (2) and range(3) the behavior is not changed.
Now even if cow_file_range() failed halfway with some successfully
reserved extents/ordered extents, we will keep all folios clean, so
there will be no future writeback triggered on them.
CC: stable@vger.kernel.org
Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
fs/btrfs/inode.c | 77 +++++++++++++++++++++++-------------------------
1 file changed, 37 insertions(+), 40 deletions(-)
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index cc6a350ae6ede..2f0b2cb2ae6e8 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -1408,6 +1408,17 @@ static noinline int cow_file_range(struct btrfs_inode *inode,
alloc_hint = btrfs_get_extent_allocation_hint(inode, start, num_bytes);
+ /*
+ * We're not doing compressed IO, don't unlock the first page (which
+ * the caller expects to stay locked), don't clear any dirty bits and
+ * don't set any writeback bits.
+ *
+ * Do set the Ordered (Private2) bit so we know this page was properly
+ * setup for writepage.
+ */
+ page_ops = (keep_locked ? 0 : PAGE_UNLOCK);
+ page_ops |= PAGE_SET_ORDERED;
+
/*
* Relocation relies on the relocated extents to have exactly the same
* size as the original extents. Normally writeback for relocation data
@@ -1470,6 +1481,10 @@ static noinline int cow_file_range(struct btrfs_inode *inode,
file_extent.offset = 0;
file_extent.compression = BTRFS_COMPRESS_NONE;
+ /*
+ * Locked range will be released either during error clean up or
+ * after the whole range is finished.
+ */
lock_extent(&inode->io_tree, start, start + ram_size - 1,
&cached);
@@ -1515,27 +1530,12 @@ static noinline int cow_file_range(struct btrfs_inode *inode,
btrfs_dec_block_group_reservations(fs_info, ins.objectid);
- /*
- * We're not doing compressed IO, don't unlock the first page
- * (which the caller expects to stay locked), don't clear any
- * dirty bits and don't set any writeback bits
- *
- * Do set the Ordered (Private2) bit so we know this page was
- * properly setup for writepage.
- */
- page_ops = (keep_locked ? 0 : PAGE_UNLOCK);
- page_ops |= PAGE_SET_ORDERED;
-
- extent_clear_unlock_delalloc(inode, start, start + ram_size - 1,
- locked_folio, &cached,
- EXTENT_LOCKED | EXTENT_DELALLOC,
- page_ops);
- if (num_bytes < cur_alloc_size)
+ if (num_bytes < ram_size)
num_bytes = 0;
else
- num_bytes -= cur_alloc_size;
+ num_bytes -= ram_size;
alloc_hint = ins.objectid + ins.offset;
- start += cur_alloc_size;
+ start += ram_size;
extent_reserved = false;
/*
@@ -1546,6 +1546,8 @@ static noinline int cow_file_range(struct btrfs_inode *inode,
if (ret)
goto out_unlock;
}
+ extent_clear_unlock_delalloc(inode, orig_start, end, locked_folio, &cached,
+ EXTENT_LOCKED | EXTENT_DELALLOC, page_ops);
done:
if (done_offset)
*done_offset = end;
@@ -1561,40 +1563,35 @@ static noinline int cow_file_range(struct btrfs_inode *inode,
* Now, we have three regions to clean up:
*
* |-------(1)----|---(2)---|-------------(3)----------|
- * `- orig_start `- start `- start + cur_alloc_size `- end
+ * `- orig_start `- start `- start + ram_size `- end
*
* We process each region below.
*/
- clear_bits = EXTENT_LOCKED | EXTENT_DELALLOC | EXTENT_DELALLOC_NEW |
- EXTENT_DEFRAG | EXTENT_CLEAR_META_RESV;
- page_ops = PAGE_UNLOCK | PAGE_START_WRITEBACK | PAGE_END_WRITEBACK;
-
/*
* For the range (1). We have already instantiated the ordered extents
* for this region. They are cleaned up by
* btrfs_cleanup_ordered_extents() in e.g,
- * btrfs_run_delalloc_range(). EXTENT_LOCKED | EXTENT_DELALLOC are
- * already cleared in the above loop. And, EXTENT_DELALLOC_NEW |
- * EXTENT_DEFRAG | EXTENT_CLEAR_META_RESV are handled by the cleanup
- * function.
+ * btrfs_run_delalloc_range().
+ * EXTENT_DELALLOC_NEW | EXTENT_DEFRAG | EXTENT_CLEAR_META_RESV
+ * are also handled by the cleanup function.
*
- * However, in case of @keep_locked, we still need to unlock the pages
- * (except @locked_folio) to ensure all the pages are unlocked.
+ * So here we only clear EXTENT_LOCKED and EXTENT_DELALLOC flag, and
+ * finish the writeback of the involved folios, which will be never submitted.
*/
- if (keep_locked && orig_start < start) {
+ if (orig_start < start) {
+ clear_bits = EXTENT_LOCKED | EXTENT_DELALLOC;
+ page_ops = PAGE_UNLOCK | PAGE_START_WRITEBACK | PAGE_END_WRITEBACK;
+
if (!locked_folio)
mapping_set_error(inode->vfs_inode.i_mapping, ret);
extent_clear_unlock_delalloc(inode, orig_start, start - 1,
- locked_folio, NULL, 0, page_ops);
+ locked_folio, NULL, clear_bits, page_ops);
}
- /*
- * At this point we're unlocked, we want to make sure we're only
- * clearing these flags under the extent lock, so lock the rest of the
- * range and clear everything up.
- */
- lock_extent(&inode->io_tree, start, end, NULL);
+ clear_bits = EXTENT_LOCKED | EXTENT_DELALLOC | EXTENT_DELALLOC_NEW |
+ EXTENT_DEFRAG | EXTENT_CLEAR_META_RESV;
+ page_ops = PAGE_UNLOCK | PAGE_START_WRITEBACK | PAGE_END_WRITEBACK;
/*
* For the range (2). If we reserved an extent for our delalloc range
@@ -1608,11 +1605,11 @@ static noinline int cow_file_range(struct btrfs_inode *inode,
*/
if (extent_reserved) {
extent_clear_unlock_delalloc(inode, start,
- start + cur_alloc_size - 1,
+ start + ram_size - 1,
locked_folio, &cached, clear_bits,
page_ops);
- btrfs_qgroup_free_data(inode, NULL, start, cur_alloc_size, NULL);
- start += cur_alloc_size;
+ btrfs_qgroup_free_data(inode, NULL, start, ram_size, NULL);
+ start += ram_size;
}
/*
--
2.39.5
next prev parent reply other threads:[~2025-07-03 14:55 UTC|newest]
Thread overview: 243+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-03 14:39 [PATCH 6.12 000/218] 6.12.36-rc1 review Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 001/218] cifs: Correctly set SMB1 SessionKey field in Session Setup Request Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 002/218] cifs: Fix cifs_query_path_info() for Windows NT servers Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 003/218] cifs: Fix encoding of SMB1 Session Setup NTLMSSP Request in non-UNICODE mode Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 004/218] NFSv4: Always set NLINK even if the server doesnt support it Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 005/218] NFSv4.2: fix listxattr to return selinux security label Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 006/218] NFSv4.2: fix setattr caching of TIME_[MODIFY|ACCESS]_SET when timestamps are delegated Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 007/218] mailbox: Not protect module_put with spin_lock_irqsave Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 008/218] mfd: max14577: Fix wakeup source leaks on device unbind Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 009/218] sunrpc: dont immediately retransmit on seqno miss Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 010/218] dm vdo indexer: dont read request structure after enqueuing Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 011/218] leds: multicolor: Fix intensity setting while SW blinking Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 012/218] fuse: fix race between concurrent setattrs from multiple nodes Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 013/218] cxl/region: Add a dev_err() on missing target list entries Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 014/218] NFSv4: xattr handlers should check for absent nfs filehandles Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 015/218] hwmon: (pmbus/max34440) Fix support for max34451 Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 016/218] ksmbd: allow a filename to contain special characters on SMB3.1.1 posix extension Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 017/218] ksmbd: provide zero as a unique ID to the Mac client Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 018/218] rust: module: place cleanup_module() in .exit.text section Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 019/218] rust: arm: fix unknown (to Clang) argument -mno-fdpic Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 020/218] Revert "iommu/amd: Prevent binding other PCI drivers to IOMMU PCI devices" Greg Kroah-Hartman
2025-07-03 14:51 ` Lukas Wunner
2025-07-04 6:42 ` Lukas Wunner
2025-07-04 8:35 ` Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 021/218] dmaengine: idxd: Check availability of workqueue allocated by idxd wq driver before using Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 022/218] dmaengine: xilinx_dma: Set dma_device directions Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 023/218] PCI: dwc: Make link training more robust by setting PORT_LOGIC_LINK_WIDTH to one lane Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 024/218] PCI: apple: Fix missing OF node reference in apple_pcie_setup_port Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 025/218] PCI: imx6: Add workaround for errata ERR051624 Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 026/218] nvme-tcp: fix I/O stalls on congested sockets Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 027/218] nvme-tcp: sanitize request list handling Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 028/218] md/md-bitmap: fix dm-raid max_write_behind setting Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 029/218] amd/amdkfd: fix a kfd_process ref leak Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 030/218] bcache: fix NULL pointer in cache_set_flush() Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 031/218] drm/amdgpu: seq64 memory unmap uses uninterruptible lock Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 032/218] drm/scheduler: signal scheduled fence when kill job Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 033/218] iio: pressure: zpa2326: Use aligned_s64 for the timestamp Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 034/218] um: Add cmpxchg8b_emu and checksum functions to asm-prototypes.h Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 035/218] um: use proper care when taking mmap lock during segfault Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 036/218] 8250: microchip: pci1xxxx: Add PCIe Hot reset disable support for Rev C0 and later devices Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 037/218] coresight: Only check bottom two claim bits Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 038/218] usb: dwc2: also exit clock_gating when stopping udc while suspended Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 039/218] iio: adc: ad_sigma_delta: Fix use of uninitialized status_pos Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 040/218] misc: tps6594-pfsm: Add NULL pointer check in tps6594_pfsm_probe() Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 041/218] usb: potential integer overflow in usbg_make_tpg() Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 042/218] tty: serial: uartlite: register uart driver in init Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 043/218] usb: common: usb-conn-gpio: use a unique name for usb connector device Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 044/218] usb: Add checks for snprintf() calls in usb_alloc_dev() Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 045/218] usb: cdc-wdm: avoid setting WDM_READ for ZLP-s Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 046/218] usb: gadget: f_hid: wake up readers on disable/unbind Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 047/218] usb: typec: displayport: Receive DP Status Update NAK request exit dp altmode Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 048/218] usb: typec: mux: do not return on EOPNOTSUPP in {mux, switch}_set Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 049/218] riscv: add a data fence for CMODX in the kernel mode Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 050/218] ALSA: hda: Ignore unsol events for cards being shut down Greg Kroah-Hartman
2025-07-03 14:39 ` [PATCH 6.12 051/218] ALSA: hda: Add new pci id for AMD GPU display HD audio controller Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 052/218] ALSA: usb-audio: Add a quirk for Lenovo Thinkpad Thunderbolt 3 dock Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 053/218] ASoC: rt1320: fix speaker noise when volume bar is 100% Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 054/218] ceph: fix possible integer overflow in ceph_zero_objects() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 055/218] scsi: ufs: core: Dont perform UFS clkscaling during host async scan Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 056/218] ovl: Check for NULL d_inode() in ovl_dentry_upper() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 057/218] btrfs: handle csum tree error with rescue=ibadroots correctly Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 058/218] drm/i915/gem: Allow EXEC_CAPTURE on recoverable contexts on DG1 Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 059/218] Revert "drm/i915/gem: Allow EXEC_CAPTURE on recoverable contexts on DG1" Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 060/218] btrfs: factor out nocow ordered extent and extent map generation into a helper Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 061/218] btrfs: use unsigned types for constants defined as bit shifts Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 062/218] btrfs: fix qgroup reservation leak on failure to allocate ordered extent Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 063/218] fs/jfs: consolidate sanity checking in dbMount Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 064/218] jfs: validate AG parameters in dbMount() to prevent crashes Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 065/218] ASoC: codec: wcd9335: Convert to GPIO descriptors Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 066/218] ASoC: codecs: wcd9335: Fix missing free of regulator supplies Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 067/218] f2fs: dont over-report free space or inodes in statvfs Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 068/218] PCI: apple: Use helper function for_each_child_of_node_scoped() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 069/218] PCI: apple: Set only available ports up Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 070/218] accel/ivpu: Do not fail on cmdq if failed to allocate preemption buffers Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 071/218] accel/ivpu: Remove copy engine support Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 072/218] accel/ivpu: Make command queue ID allocated on XArray Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 073/218] accel/ivpu: Separate DB ID and CMDQ ID allocations from CMDQ allocation Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 074/218] accel/ivpu: Add debugfs interface for setting HWS priority bands Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 075/218] accel/ivpu: Trigger device recovery on engine reset/resume failure Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 076/218] af_unix: Dont leave consecutive consumed OOB skbs Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 077/218] i2c: tiny-usb: disable zero-length read messages Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 078/218] i2c: robotfuzz-osif: " Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 079/218] ata: ahci: Use correct DMI identifier for ASUSPRO-D840SA LPM quirk Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 080/218] smb: client: remove \t from TP_printk statements Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 081/218] mm/damon/sysfs-schemes: free old damon_sysfs_scheme_filter->memcg_path on write Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 082/218] ASoC: amd: yc: Add DMI quirk for Lenovo IdeaPad Slim 5 15 Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 083/218] s390/pkey: Prevent overflow in size calculation for memdup_user() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 084/218] fs/proc/task_mmu: fix PAGE_IS_PFNZERO detection for the huge zero folio Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 085/218] lib/group_cpus: fix NULL pointer dereference from group_cpus_evenly() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 086/218] Revert "riscv: Define TASK_SIZE_MAX for __access_ok()" Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 087/218] Revert "riscv: misaligned: fix sleeping function called during misaligned access handling" Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 088/218] drm/dp: Change AUX DPCD probe address from DPCD_REV to LANE0_1_STATUS Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 089/218] drm/xe/display: Add check for alloc_ordered_workqueue() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 090/218] HID: wacom: fix crash in wacom_aes_battery_handler() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 091/218] atm: clip: prevent NULL deref in clip_push() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 092/218] Bluetooth: hci_core: Fix use-after-free in vhci_flush() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 093/218] ALSA: usb-audio: Fix out-of-bounds read in snd_usb_get_audioformat_uac3() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 094/218] attach_recursive_mnt(): do not lock the covering tree when sliding something under it Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 095/218] libbpf: Fix null pointer dereference in btf_dump__free on allocation failure Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 096/218] ethernet: ionic: Fix DMA mapping tests Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 097/218] wifi: mac80211: fix beacon interval calculation overflow Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 098/218] af_unix: Dont set -ECONNRESET for consumed OOB skb Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 099/218] wifi: mac80211: Add link iteration macro for link data Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 100/218] wifi: mac80211: Create separate links for VLAN interfaces Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 101/218] wifi: mac80211: finish link init before RCU publish Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 102/218] vsock/uapi: fix linux/vm_sockets.h userspace compilation errors Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 103/218] bnxt: properly flush XDP redirect lists Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 104/218] um: ubd: Add missing error check in start_io_thread() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 105/218] libbpf: Fix possible use-after-free for externs Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 106/218] net: enetc: Correct endianness handling in _enetc_rd_reg64 Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 107/218] netlink: specs: tc: replace underscores with dashes in names Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 108/218] atm: Release atm_dev_mutex after removing procfs in atm_dev_deregister() Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 109/218] ALSA: hda/realtek: Fix built-in mic on ASUS VivoBook X507UAR Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 110/218] net: selftests: fix TCP packet checksum Greg Kroah-Hartman
2025-07-03 14:40 ` [PATCH 6.12 111/218] drm/amdgpu/discovery: optionally use fw based ip discovery Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 112/218] drm/amd: Adjust output for discovery error handling Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 113/218] drm/i915: fix build error some more Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 114/218] drm/bridge: ti-sn65dsi86: make use of debugfs_init callback Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 115/218] drm/bridge: ti-sn65dsi86: Add HPD for DisplayPort connector type Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 116/218] drm/xe: Process deferred GGTT node removals on device unwind Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 117/218] smb: client: fix potential deadlock when reconnecting channels Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 118/218] smb: smbdirect: add smbdirect_pdu.h with protocol definitions Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 119/218] smb: client: make use of common smbdirect_pdu.h Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 120/218] smb: smbdirect: add smbdirect.h with public structures Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 121/218] smb: smbdirect: add smbdirect_socket.h Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 122/218] smb: client: make use of common smbdirect_socket Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 123/218] smb: smbdirect: introduce smbdirect_socket_parameters Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 124/218] smb: client: make use of common smbdirect_socket_parameters Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 125/218] cifs: Fix the smbd_response slab to allow usercopy Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 126/218] cifs: Fix reading into an ITER_FOLIOQ from the smbdirect code Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 127/218] EDAC/amd64: Fix size calculation for Non-Power-of-Two DIMMs Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 128/218] x86/traps: Initialize DR6 by writing its architectural reset value Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 129/218] staging: rtl8723bs: Avoid memset() in aes_cipher() and aes_decipher() Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 130/218] dt-bindings: serial: 8250: Make clocks and clock-frequency exclusive Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 131/218] serial: core: restore of_node information in sysfs Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 132/218] serial: imx: Restore original RXTL for console to fix data loss Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 133/218] Bluetooth: L2CAP: Fix L2CAP MTU negotiation Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 134/218] dm-raid: fix variable in journal device check Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 135/218] btrfs: fix a race between renames and directory logging Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 136/218] btrfs: update superblocks device bytes_used when dropping chunk Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 137/218] spi: spi-cadence-quadspi: Fix pm runtime unbalance Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 138/218] net: libwx: fix the creation of page_pool Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 139/218] maple_tree: fix MA_STATE_PREALLOC flag in mas_preallocate() Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 140/218] mm/gup: revert "mm: gup: fix infinite loop within __get_longterm_locked" Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 141/218] f2fs: fix to zero post-eof page Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 142/218] HID: lenovo: Restrict F7/9/11 mode to compact keyboards only Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 143/218] HID: wacom: fix memory leak on kobject creation failure Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 144/218] HID: wacom: fix memory leak on sysfs attribute " Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 145/218] HID: wacom: fix kobject reference count leak Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 146/218] scsi: megaraid_sas: Fix invalid node index Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 147/218] scsi: ufs: core: Fix clk scaling to be conditional in reset and restore Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 148/218] drm/ast: Fix comment on modeset lock Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 149/218] drm/cirrus-qemu: Fix pitch programming Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 150/218] drm/etnaviv: Protect the schedulers pending list with its lock Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 151/218] drm/tegra: Assign plane type before registration Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 152/218] drm/tegra: Fix a possible null pointer dereference Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 153/218] drm/udl: Unregister device before cleaning up on disconnect Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 154/218] drm/msm/gpu: Fix crash when throttling GPU immediately during boot Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 155/218] drm/amdkfd: Fix race in GWS queue scheduling Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 156/218] drm/bridge: cdns-dsi: Fix the clock variable for mode_valid() Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 157/218] drm/bridge: cdns-dsi: Fix phy de-init and flag it so Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 158/218] drm/bridge: cdns-dsi: Fix connecting to next bridge Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 159/218] drm/bridge: cdns-dsi: Check return value when getting default PHY config Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 160/218] drm/bridge: cdns-dsi: Wait for Clk and Data Lanes to be ready Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 161/218] drm/amd/display: Add null pointer check for get_first_active_display() Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 162/218] drm/amdgpu: amdgpu_vram_mgr_new(): Clamp lpfn to total vram Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 163/218] drm/amd/display: Correct non-OLED pre_T11_delay Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 164/218] drm/xe/vm: move rebind_work init earlier Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 165/218] drm/xe/sched: stop re-submitting signalled jobs Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 166/218] drm/xe/guc_submit: add back fix Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 167/218] drm/amd/display: Fix RMCM programming seq errors Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 168/218] drm/amdgpu: Add kicker device detection Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 169/218] drm/amd/display: Check dce_hwseq before dereferencing it Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 170/218] drm/xe: Fix memset on iomem Greg Kroah-Hartman
2025-07-03 14:41 ` [PATCH 6.12 171/218] drm/xe: Fix taking invalid lock on wedge Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 172/218] drm/xe: Fix early wedge on GuC load failure Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 173/218] drm/i915/dsi: Fix off by one in BXT_MIPI_TRANS_VTOTAL Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 174/218] drm/amdgpu: Fix SDMA UTC_L1 handling during start/stop sequences Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 175/218] drm/amdgpu: switch job hw_fence to amdgpu_fence Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 176/218] drm/amd/display: Fix mpv playback corruption on weston Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 177/218] media: uvcvideo: Rollback non processed entities on error Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 178/218] x86/fpu: Refactor xfeature bitmask update code for sigframe XSAVE Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 179/218] x86/pkeys: Simplify PKRU update in signal frame Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 180/218] net: libwx: fix Tx L4 checksum Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 181/218] io_uring: fix potential page leak in io_sqe_buffer_register() Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 182/218] io_uring/rsrc: fix folio unpinning Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 183/218] io_uring/rsrc: dont rely on user vaddr alignment Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 184/218] io_uring/net: improve recv bundles Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 185/218] io_uring/net: only retry recv bundle for a full transfer Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 186/218] io_uring/net: only consider msg_inq if larger than 1 Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 187/218] io_uring/net: always use current transfer count for buffer put Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 188/218] io_uring/net: mark iov as dynamically allocated even for single segments Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 189/218] io_uring/kbuf: flag partial buffer mappings Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 190/218] mm/vma: reset VMA iterator on commit_merge() OOM failure Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 191/218] r8169: add support for RTL8125D Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 192/218] net: phy: realtek: merge the drivers for internal NBase-T PHYs Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 193/218] net: phy: realtek: add RTL8125D-internal PHY Greg Kroah-Hartman
2025-07-03 14:42 ` Greg Kroah-Hartman [this message]
2025-07-03 14:42 ` [PATCH 6.12 195/218] iio: dac: ad3552r: changes to use FIELD_PREP Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 196/218] iio: dac: ad3552r: extract common code (no changes in behavior intended) Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 197/218] iio: dac: ad3552r-common: fix ad3541/2r ranges Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 198/218] drm/xe: Carve out wopcm portion from the stolen memory Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 199/218] usb: typec: tcpm: PSSourceOffTimer timeout in PR_Swap enters ERROR_RECOVERY Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 200/218] drm/msm/dp: account for widebus and yuv420 during mode validation Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 201/218] drm/fbdev-dma: Add shadow buffering for deferred I/O Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 202/218] btrfs: skip inodes without loaded extent maps when shrinking extent maps Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 203/218] btrfs: make the extent map shrinker run asynchronously as a work queue job Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 204/218] btrfs: do regular iput instead of delayed iput during extent map shrinking Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 205/218] riscv/atomic: Do proper sign extension also for unsigned in arch_cmpxchg Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 206/218] LoongArch: Set hugetlb mmap base address aligned with pmd size Greg Kroah-Hartman
2025-07-05 11:45 ` Miguel Ojeda
2025-07-05 14:34 ` Sasha Levin
2025-07-03 14:42 ` [PATCH 6.12 207/218] arm64: dts: rockchip: Add avdd HDMI supplies to RockPro64 board dtsi Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 208/218] ALSA: hda/realtek: Bass speaker fixup for ASUS UM5606KA Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 209/218] drm/amdkfd: remove gfx 12 trap handler page size cap Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 210/218] drm/amdkfd: Fix instruction hazard in gfx12 trap handler Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 211/218] net: stmmac: Fix accessing freed irq affinity_hint Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 212/218] spi: spi-mem: Extend spi-mem operations with a per-operation maximum frequency Greg Kroah-Hartman
2025-07-04 11:55 ` Pratyush Yadav
2025-07-04 12:17 ` Greg Kroah-Hartman
2025-07-04 14:39 ` Mark Brown
2025-07-04 16:43 ` Greg Kroah-Hartman
2025-07-04 15:45 ` Pratyush Yadav
2025-07-04 16:43 ` Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 213/218] spi: spi-mem: Add a new controller capability Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 214/218] spi: fsl-qspi: Support per spi-mem operation frequency switches Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 215/218] spi: fsl-qspi: use devm function instead of driver remove Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 216/218] btrfs: zoned: fix extent range end unlock in cow_file_range() Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 217/218] btrfs: fix use-after-free on inode when scanning root during em shrinking Greg Kroah-Hartman
2025-07-03 14:42 ` [PATCH 6.12 218/218] spi: fsl-qspi: Fix double cleanup in probe error path Greg Kroah-Hartman
2025-07-03 18:06 ` [PATCH 6.12 000/218] 6.12.36-rc1 review Florian Fainelli
2025-07-03 19:55 ` Hardik Garg
2025-07-03 22:14 ` Shuah Khan
2025-07-04 5:57 ` Ron Economos
2025-07-04 11:13 ` Jon Hunter
2025-07-04 12:14 ` Mark Brown
2025-07-04 12:51 ` Naresh Kamboju
2025-07-04 23:10 ` Miguel Ojeda
2025-07-06 6:51 ` Greg KH
2025-07-05 3:05 ` Peter Schneider
2025-07-05 13:50 ` Pascal Ernster
2025-07-06 6:51 ` Greg Kroah-Hartman
2025-07-06 6:56 ` Pascal Ernster
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=20250703144003.961394683@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=boris@bur.io \
--cc=dsterba@suse.com \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=wqu@suse.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.