From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
"Linus Torvalds" <torvalds@linux-foundation.org>,
"Mikhail Gavrilov" <mikhail.v.gavrilov@gmail.com>,
"Toralf Förster" <toralf.foerster@gmx.de>,
syzbot+f80b066392366b4af85e@syzkaller.appspotmail.com,
"Chris Mason" <clm@fb.com>, "Filipe Manana" <fdmanana@suse.com>,
"Josef Bacik" <josef@toxicpanda.com>, "Qu Wenruo" <wqu@suse.com>,
"David Sterba" <dsterba@suse.com>
Subject: [PATCH 6.9 147/157] btrfs: protect folio::private when attaching extent buffer folios
Date: Thu, 13 Jun 2024 13:34:32 +0200 [thread overview]
Message-ID: <20240613113233.092133721@linuxfoundation.org> (raw)
In-Reply-To: <20240613113227.389465891@linuxfoundation.org>
6.9-stable review patch. If anyone has any objections, please let me know.
------------------
From: Qu Wenruo <wqu@suse.com>
commit f3a5367c679d31473d3fbb391675055b4792c309 upstream.
[BUG]
Since v6.8 there are rare kernel crashes reported by various people,
the common factor is bad page status error messages like this:
BUG: Bad page state in process kswapd0 pfn:d6e840
page: refcount:0 mapcount:0 mapping:000000007512f4f2 index:0x2796c2c7c
pfn:0xd6e840
aops:btree_aops ino:1
flags: 0x17ffffe0000008(uptodate|node=0|zone=2|lastcpupid=0x3fffff)
page_type: 0xffffffff()
raw: 0017ffffe0000008 dead000000000100 dead000000000122 ffff88826d0be4c0
raw: 00000002796c2c7c 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: non-NULL mapping
[CAUSE]
Commit 09e6cef19c9f ("btrfs: refactor alloc_extent_buffer() to
allocate-then-attach method") changes the sequence when allocating a new
extent buffer.
Previously we always called grab_extent_buffer() under
mapping->i_private_lock, to ensure the safety on modification on
folio::private (which is a pointer to extent buffer for regular
sectorsize).
This can lead to the following race:
Thread A is trying to allocate an extent buffer at bytenr X, with 4
4K pages, meanwhile thread B is trying to release the page at X + 4K
(the second page of the extent buffer at X).
Thread A | Thread B
-----------------------------------+-------------------------------------
| btree_release_folio()
| | This is for the page at X + 4K,
| | Not page X.
| |
alloc_extent_buffer() | |- release_extent_buffer()
|- filemap_add_folio() for the | | |- atomic_dec_and_test(eb->refs)
| page at bytenr X (the first | | |
| page). | | |
| Which returned -EEXIST. | | |
| | | |
|- filemap_lock_folio() | | |
| Returned the first page locked. | | |
| | | |
|- grab_extent_buffer() | | |
| |- atomic_inc_not_zero() | | |
| | Returned false | | |
| |- folio_detach_private() | | |- folio_detach_private() for X
| |- folio_test_private() | | |- folio_test_private()
| Returned true | | | Returned true
|- folio_put() | |- folio_put()
Now there are two puts on the same folio at folio X, leading to refcount
underflow of the folio X, and eventually causing the BUG_ON() on the
page->mapping.
The condition is not that easy to hit:
- The release must be triggered for the middle page of an eb
If the release is on the same first page of an eb, page lock would kick
in and prevent the race.
- folio_detach_private() has a very small race window
It's only between folio_test_private() and folio_clear_private().
That's exactly when mapping->i_private_lock is used to prevent such race,
and commit 09e6cef19c9f ("btrfs: refactor alloc_extent_buffer() to
allocate-then-attach method") screwed that up.
At that time, I thought the page lock would kick in as
filemap_release_folio() also requires the page to be locked, but forgot
the filemap_release_folio() only locks one page, not all pages of an
extent buffer.
[FIX]
Move all the code requiring i_private_lock into
attach_eb_folio_to_filemap(), so that everything is done with proper
lock protection.
Furthermore to prevent future problems, add an extra
lockdep_assert_locked() to ensure we're holding the proper lock.
To reproducer that is able to hit the race (takes a few minutes with
instrumented code inserting delays to alloc_extent_buffer()):
#!/bin/sh
drop_caches () {
while(true); do
echo 3 > /proc/sys/vm/drop_caches
echo 1 > /proc/sys/vm/compact_memory
done
}
run_tar () {
while(true); do
for x in `seq 1 80` ; do
tar cf /dev/zero /mnt > /dev/null &
done
wait
done
}
mkfs.btrfs -f -d single -m single /dev/vda
mount -o noatime /dev/vda /mnt
# create 200,000 files, 1K each
./simoop -n 200000 -E -f 1k /mnt
drop_caches &
(run_tar)
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/linux-btrfs/CAHk-=wgt362nGfScVOOii8cgKn2LVVHeOvOA7OBwg1OwbuJQcw@mail.gmail.com/
Reported-by: Mikhail Gavrilov <mikhail.v.gavrilov@gmail.com>
Link: https://lore.kernel.org/lkml/CABXGCsPktcHQOvKTbPaTwegMExije=Gpgci5NW=hqORo-s7diA@mail.gmail.com/
Reported-by: Toralf Förster <toralf.foerster@gmx.de>
Link: https://lore.kernel.org/linux-btrfs/e8b3311c-9a75-4903-907f-fc0f7a3fe423@gmx.de/
Reported-by: syzbot+f80b066392366b4af85e@syzkaller.appspotmail.com
Fixes: 09e6cef19c9f ("btrfs: refactor alloc_extent_buffer() to allocate-then-attach method")
CC: stable@vger.kernel.org # 6.8+
CC: Chris Mason <clm@fb.com>
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Qu Wenruo <wqu@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/extent_io.c | 60 ++++++++++++++++++++++++++-------------------------
1 file changed, 31 insertions(+), 29 deletions(-)
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -3662,6 +3662,8 @@ static struct extent_buffer *grab_extent
struct folio *folio = page_folio(page);
struct extent_buffer *exists;
+ lockdep_assert_held(&page->mapping->i_private_lock);
+
/*
* For subpage case, we completely rely on radix tree to ensure we
* don't try to insert two ebs for the same bytenr. So here we always
@@ -3729,13 +3731,14 @@ static int check_eb_alignment(struct btr
* The caller needs to free the existing folios and retry using the same order.
*/
static int attach_eb_folio_to_filemap(struct extent_buffer *eb, int i,
+ struct btrfs_subpage *prealloc,
struct extent_buffer **found_eb_ret)
{
struct btrfs_fs_info *fs_info = eb->fs_info;
struct address_space *mapping = fs_info->btree_inode->i_mapping;
const unsigned long index = eb->start >> PAGE_SHIFT;
- struct folio *existing_folio;
+ struct folio *existing_folio = NULL;
int ret;
ASSERT(found_eb_ret);
@@ -3747,12 +3750,14 @@ retry:
ret = filemap_add_folio(mapping, eb->folios[i], index + i,
GFP_NOFS | __GFP_NOFAIL);
if (!ret)
- return 0;
+ goto finish;
existing_folio = filemap_lock_folio(mapping, index + i);
/* The page cache only exists for a very short time, just retry. */
- if (IS_ERR(existing_folio))
+ if (IS_ERR(existing_folio)) {
+ existing_folio = NULL;
goto retry;
+ }
/* For now, we should only have single-page folios for btree inode. */
ASSERT(folio_nr_pages(existing_folio) == 1);
@@ -3763,14 +3768,13 @@ retry:
return -EAGAIN;
}
- if (fs_info->nodesize < PAGE_SIZE) {
- /*
- * We're going to reuse the existing page, can drop our page
- * and subpage structure now.
- */
+finish:
+ spin_lock(&mapping->i_private_lock);
+ if (existing_folio && fs_info->nodesize < PAGE_SIZE) {
+ /* We're going to reuse the existing page, can drop our folio now. */
__free_page(folio_page(eb->folios[i], 0));
eb->folios[i] = existing_folio;
- } else {
+ } else if (existing_folio) {
struct extent_buffer *existing_eb;
existing_eb = grab_extent_buffer(fs_info,
@@ -3778,6 +3782,7 @@ retry:
if (existing_eb) {
/* The extent buffer still exists, we can use it directly. */
*found_eb_ret = existing_eb;
+ spin_unlock(&mapping->i_private_lock);
folio_unlock(existing_folio);
folio_put(existing_folio);
return 1;
@@ -3786,6 +3791,22 @@ retry:
__free_page(folio_page(eb->folios[i], 0));
eb->folios[i] = existing_folio;
}
+ eb->folio_size = folio_size(eb->folios[i]);
+ eb->folio_shift = folio_shift(eb->folios[i]);
+ /* Should not fail, as we have preallocated the memory. */
+ ret = attach_extent_buffer_folio(eb, eb->folios[i], prealloc);
+ ASSERT(!ret);
+ /*
+ * To inform we have an extra eb under allocation, so that
+ * detach_extent_buffer_page() won't release the folio private when the
+ * eb hasn't been inserted into radix tree yet.
+ *
+ * The ref will be decreased when the eb releases the page, in
+ * detach_extent_buffer_page(). Thus needs no special handling in the
+ * error path.
+ */
+ btrfs_folio_inc_eb_refs(fs_info, eb->folios[i]);
+ spin_unlock(&mapping->i_private_lock);
return 0;
}
@@ -3797,7 +3818,6 @@ struct extent_buffer *alloc_extent_buffe
int attached = 0;
struct extent_buffer *eb;
struct extent_buffer *existing_eb = NULL;
- struct address_space *mapping = fs_info->btree_inode->i_mapping;
struct btrfs_subpage *prealloc = NULL;
u64 lockdep_owner = owner_root;
bool page_contig = true;
@@ -3863,7 +3883,7 @@ reallocate:
for (int i = 0; i < num_folios; i++) {
struct folio *folio;
- ret = attach_eb_folio_to_filemap(eb, i, &existing_eb);
+ ret = attach_eb_folio_to_filemap(eb, i, prealloc, &existing_eb);
if (ret > 0) {
ASSERT(existing_eb);
goto out;
@@ -3900,24 +3920,6 @@ reallocate:
* and free the allocated page.
*/
folio = eb->folios[i];
- eb->folio_size = folio_size(folio);
- eb->folio_shift = folio_shift(folio);
- spin_lock(&mapping->i_private_lock);
- /* Should not fail, as we have preallocated the memory */
- ret = attach_extent_buffer_folio(eb, folio, prealloc);
- ASSERT(!ret);
- /*
- * To inform we have extra eb under allocation, so that
- * detach_extent_buffer_page() won't release the folio private
- * when the eb hasn't yet been inserted into radix tree.
- *
- * The ref will be decreased when the eb released the page, in
- * detach_extent_buffer_page().
- * Thus needs no special handling in error path.
- */
- btrfs_folio_inc_eb_refs(fs_info, folio);
- spin_unlock(&mapping->i_private_lock);
-
WARN_ON(btrfs_folio_test_dirty(fs_info, folio, eb->start, eb->len));
/*
next prev parent reply other threads:[~2024-06-13 11:54 UTC|newest]
Thread overview: 168+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-13 11:32 [PATCH 6.9 000/157] 6.9.5-rc1 review Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 001/157] drm/amdkfd: handle duplicate BOs in reserve_bo_and_cond_vms Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 002/157] drm/i915/hwmon: Get rid of devm Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 003/157] afs: Dont cross .backup mountpoint from backup volume Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 004/157] erofs: avoid allocating DEFLATE streams before mounting Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 005/157] x86/topology/amd: Evaluate SMT in CPUID leaf 0x8000001e only on family 0x17 and greater Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 006/157] vxlan: Fix regression when dropping packets due to invalid src addresses Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 007/157] f2fs: fix to do sanity check on i_xattr_nid in sanity_check_inode() Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 008/157] media: lgdt3306a: Add a check against null-pointer-def Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 009/157] drm/amdgpu: add error handle to avoid out-of-bounds Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 010/157] drm/xe/bb: assert width in xe_bb_create_job() Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 011/157] bcache: fix variable length array abuse in btree_iter Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 012/157] crypto: starfive - Do not free stack buffer Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 013/157] btrfs: qgroup: fix initialization of auto inherit array Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 014/157] wifi: rtw89: correct aSIFSTime for 6GHz band Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 015/157] ata: pata_legacy: make legacy_exit() work again Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 016/157] fsverity: use register_sysctl_init() to avoid kmemleak warning Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 017/157] proc: Move fdinfo PTRACE_MODE_READ check into the inode .permission operation Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 018/157] platform/chrome: cros_ec: Handle events during suspend after resume completion Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 019/157] thermal/drivers/qcom/lmh: Check for SCM availability at probe Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 020/157] soc: qcom: rpmh-rsc: Enhance check for VRM in-flight request Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 021/157] ACPI: resource: Do IRQ override on TongFang GXxHRXx and GMxHGxx Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 022/157] arm64: tegra: Correct Tegra132 I2C alias Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 023/157] arm64: dts: qcom: qcs404: fix bluetooth device address Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 024/157] md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 025/157] wifi: rtw89: pci: correct TX resource checking for PCI DMA channel of firmware command Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 026/157] wifi: rtl8xxxu: Fix the TX power of RTL8192CU, RTL8723AU Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 027/157] wifi: rtl8xxxu: enable MFP support with security flag of RX descriptor Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 028/157] wifi: rtlwifi: rtl8192de: Fix 5 GHz TX power Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 029/157] wifi: rtlwifi: rtl8192de: Fix low speed with WPA3-SAE Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 030/157] wifi: rtlwifi: rtl8192de: Fix endianness issue in RX path Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 031/157] arm64: dts: qcom: sc8280xp: add missing PCIe minimum OPP Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 032/157] arm64: dts: hi3798cv200: fix the size of GICR Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 033/157] arm64: dts: ti: verdin-am62: Set memory size to 2gb Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 034/157] media: mgb4: Fix double debugfs remove Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 035/157] media: mc: Fix graph walk in media_pipeline_start Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 036/157] media: mc: mark the media devnode as registered from the, start Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 037/157] media: mxl5xx: Move xpt structures off stack Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 038/157] media: v4l2-core: hold videodev_lock until dev reg, finishes Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 039/157] media: ov2740: Fix LINK_FREQ and PIXEL_RATE control value reporting Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 040/157] media: v4l: async: Properly re-initialise notifier entry in unregister Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 041/157] media: v4l: async: Dont set notifiers V4L2 device if registering fails Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 042/157] media: v4l: async: Fix notifier list entry init Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 043/157] mmc: davinci: Dont strip remove function when driver is builtin Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 044/157] mmc: core: Add mmc_gpiod_set_cd_config() function Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 045/157] mmc: sdhci: Add support for "Tuning Error" interrupts Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 046/157] mmc: sdhci-acpi: Sort DMI quirks alphabetically Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 047/157] mmc: sdhci-acpi: Fix Lenovo Yoga Tablet 2 Pro 1380 sdcard slot not working Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 048/157] mmc: sdhci-acpi: Disable write protect detection on Toshiba WT10-A Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 049/157] mmc: sdhci-acpi: Add quirk to enable pull-up on the card-detect GPIO on Asus T100TA Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 050/157] drm/fbdev-generic: Do not set physical framebuffer address Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 051/157] fbdev: savage: Handle err return when savagefb_check_var failed Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 052/157] firmware: qcom_scm: disable clocks if qcom_scm_bw_enable() fails Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 053/157] drm/amdgpu/atomfirmware: add intergrated info v2.3 table Greg Kroah-Hartman
2024-06-13 11:32 ` [PATCH 6.9 054/157] 9p: add missing locking around taking dentry fid list Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 055/157] drm/amd: Fix shutdown (again) on some SMU v13.0.4/11 platforms Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 056/157] Revert "drm/amdkfd: fix gfx_target_version for certain 11.0.3 devices" Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 057/157] KVM: SVM: WARN on vNMI + NMI window iff NMIs are outright masked Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 058/157] KVM: arm64: Fix AArch32 register narrowing on userspace write Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 059/157] KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 060/157] KVM: arm64: AArch32: Fix spurious trapping of conditional instructions Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 061/157] LoongArch: Add all CPUs enabled by fdt to NUMA node 0 Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 062/157] LoongArch: Fix built-in DTB detection Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 063/157] LoongArch: Override higher address bits in JUMP_VIRT_ADDR Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 064/157] LoongArch: Fix entry point in kernel image header Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 065/157] clk: bcm: dvp: Assign ->num before accessing ->hws Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 066/157] clk: bcm: rpi: " Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 067/157] clk: qcom: clk-alpha-pll: fix rate setting for Stromer PLLs Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 068/157] clk: qcom: apss-ipq-pll: use stromer ops for IPQ5018 to fix boot failure Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 069/157] crypto: ecdsa - Fix module auto-load on add-key Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 070/157] crypto: ecrdsa - Fix module auto-load on add_key Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 071/157] crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 072/157] kbuild: Remove support for Clangs ThinLTO caching Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 073/157] mm: fix race between __split_huge_pmd_locked() and GUP-fast Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 074/157] io_uring/napi: fix timeout calculation Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 075/157] io_uring: check for non-NULL file pointer in io_file_can_poll() Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 076/157] filemap: add helper mapping_max_folio_size() Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 077/157] iomap: fault in smaller chunks for non-large folio mappings Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 078/157] ACPI: APEI: EINJ: Fix einj_dev release leak Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 079/157] i2c: acpi: Unbind mux adapters before delete Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 080/157] HID: i2c-hid: elan: fix reset suspend current leakage Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 081/157] scsi: core: Handle devices which return an unusually large VPD page count Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 082/157] net/ipv6: Fix route deleting failure when metric equals 0 Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 083/157] net/9p: fix uninit-value in p9_client_rpc() Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 084/157] net/tcp: Dont consider TCP_CLOSE in TCP_AO_ESTABLISHED Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 085/157] selftests: net: lib: support errexit with busywait Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 086/157] selftests: net: lib: avoid error removing empty netns name Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 087/157] mm/ksm: fix ksm_pages_scanned accounting Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 088/157] mm/ksm: fix ksm_zero_pages accounting Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 089/157] kmsan: do not wipe out origin when doing partial unpoisoning Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 090/157] tpm_tis: Do *not* flush uninitialized work Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 091/157] cpufreq: amd-pstate: Fix the inconsistency in max frequency units Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 092/157] intel_th: pci: Add Meteor Lake-S CPU support Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 093/157] rtla/timerlat: Fix histogram report when a cpu count is 0 Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 094/157] sparc64: Fix number of online CPUs Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 095/157] mm/hugetlb: do not call vma_add_reservation upon ENOMEM Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 096/157] mm/cma: drop incorrect alignment check in cma_init_reserved_mem Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 097/157] mm/hugetlb: pass correct order_per_bit to cma_declare_contiguous_nid Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 098/157] mm: /proc/pid/smaps_rollup: avoid skipping vma after getting mmap_lock again Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 099/157] mm/memory-failure: fix handling of dissolved but not taken off from buddy pages Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 100/157] mm/vmalloc: fix vmalloc which may return null if called with __GFP_NOFAIL Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 101/157] selftests/mm: compaction_test: fix incorrect write of zero to nr_hugepages Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 102/157] selftests/mm: fix build warnings on ppc64 Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 103/157] selftests/mm: compaction_test: fix bogus test success on Aarch64 Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 104/157] watchdog: rti_wdt: Set min_hw_heartbeat_ms to accommodate a safety margin Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 105/157] bonding: fix oops during rmmod Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 106/157] irqchip/riscv-intc: Prevent memory leak when riscv_intc_init_common() fails Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 107/157] wifi: ath10k: fix QCOM_RPROC_COMMON dependency Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 108/157] kdb: Fix buffer overflow during tab-complete Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 109/157] kdb: Use format-strings rather than \0 injection in kdb_read() Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 110/157] kdb: Fix console handling when editing and tab-completing commands Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 111/157] kdb: Merge identical case statements in kdb_read() Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 112/157] kdb: Use format-specifiers rather than memset() for padding " Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 113/157] Revert "xsk: Support redirect to any socket bound to the same umem" Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.9 114/157] Revert "xsk: Document ability to " Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 115/157] Revert "perf record: Reduce memory for recording PERF_RECORD_LOST_SAMPLES event" Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 116/157] e1000e: move force SMBUS near the end of enable_ulp function Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 117/157] sparc: move struct termio to asm/termios.h Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 118/157] ext4: Fixes len calculation in mpage_journal_page_buffers Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 119/157] ext4: set type of ac_groups_linear_remaining to __u32 to avoid overflow Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 120/157] ext4: fix mb_cache_entrys e_refcnt leak in ext4_xattr_block_cache_find() Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 121/157] riscv: dts: starfive: Remove PMIC interrupt info for Visionfive 2 board Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 122/157] ARM: dts: samsung: smdkv310: fix keypad no-autorepeat Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 123/157] ARM: dts: samsung: smdk4412: " Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 124/157] ARM: dts: samsung: exynos4412-origen: " Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 125/157] parisc: Define HAVE_ARCH_HUGETLB_UNMAPPED_AREA Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 126/157] parisc: Define sigset_t in parisc uapi header Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 127/157] s390/ap: Fix crash in AP internal function modify_bitmap() Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 128/157] s390/cpacf: Split and rework cpacf query functions Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 129/157] s390/cpacf: Make use of invalid opcode produce a link error Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 130/157] i3c: master: svc: fix invalidate IBI type and miss call client IBI handler Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 131/157] genirq/irqdesc: Prevent use-after-free in irq_find_at_or_after() Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 132/157] hwmon: (ltc2992) Fix memory leak in ltc2992_parse_dt() Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 133/157] riscv: enable HAVE_ARCH_HUGE_VMAP for XIP kernel Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 134/157] ASoC: SOF: ipc4-topology: Fix input format query of process modules without base extension Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 135/157] ALSA: ump: Dont clear bank selection after sending a program change Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 136/157] ALSA: ump: Dont accept an invalid UMP protocol number Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 137/157] EDAC/amd64: Convert PCIBIOS_* return codes to errnos Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 138/157] EDAC/igen6: " Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 139/157] cifs: fix creating sockets when using sfu mount options Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 140/157] nfs: fix undefined behavior in nfs_block_bits() Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 141/157] NFS: Fix READ_PLUS when server doesnt support OP_READ_PLUS Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 142/157] eventfs: Fix a possible null pointer dereference in eventfs_find_events() Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 143/157] eventfs: Keep the directories from having the same inode number as files Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 144/157] tracefs: Clear EVENT_INODE flag in tracefs_drop_inode() Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 145/157] btrfs: qgroup: update rescan message levels and error codes Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 146/157] btrfs: qgroup: fix qgroup id collision across mounts Greg Kroah-Hartman
2024-06-13 11:34 ` Greg Kroah-Hartman [this message]
2024-06-13 11:34 ` [PATCH 6.9 148/157] btrfs: fix crash on racing fsync and size-extending write into prealloc Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 149/157] btrfs: fix leak of qgroup extent records after transaction abort Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 150/157] btrfs: re-introduce norecovery mount option Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 151/157] ALSA: seq: Fix incorrect UMP type for system messages Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 152/157] bpf: fix multi-uprobe PID filtering logic Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 153/157] powerpc/64/bpf: fix tail calls for PCREL addressing Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 154/157] powerpc/bpf: enforce full ordering for ATOMIC operations with BPF_FETCH Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 155/157] nilfs2: fix potential kernel bug due to lack of writeback flag waiting Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 156/157] nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.9 157/157] smb: client: fix deadlock in smb2_find_smb_tcon() Greg Kroah-Hartman
2024-06-13 16:51 ` [PATCH 6.9 000/157] 6.9.5-rc1 review SeongJae Park
2024-06-14 1:44 ` Bagas Sanjaya
2024-06-14 6:14 ` Naresh Kamboju
2024-06-14 9:38 ` Pavel Machek
2024-06-14 11:44 ` Ron Economos
2024-06-14 14:13 ` Mark Brown
2024-06-14 17:04 ` Jon Hunter
2024-06-15 1:59 ` Peter Schneider
2024-06-15 2:09 ` Shuah Khan
2024-06-16 13:51 ` Florian Fainelli
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=20240613113233.092133721@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=clm@fb.com \
--cc=dsterba@suse.com \
--cc=fdmanana@suse.com \
--cc=josef@toxicpanda.com \
--cc=mikhail.v.gavrilov@gmail.com \
--cc=patches@lists.linux.dev \
--cc=stable@vger.kernel.org \
--cc=syzbot+f80b066392366b4af85e@syzkaller.appspotmail.com \
--cc=toralf.foerster@gmx.de \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox