From: Greg Kroah-Hartman Date: Fri, 18 Oct 2024 08:16:10 +0000 (+0200) Subject: 5.15-stable patches X-Git-Tag: v5.10.228~68 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=17296af5281af8cd3fd1acf8d1a45ae3a3544f38;p=thirdparty%2Fkernel%2Fstable-queue.git 5.15-stable patches added patches: fat-fix-uninitialized-variable.patch mm-swapfile-skip-hugetlb-pages-for-unuse_vma.patch --- diff --git a/queue-5.15/fat-fix-uninitialized-variable.patch b/queue-5.15/fat-fix-uninitialized-variable.patch new file mode 100644 index 00000000000..200620c7154 --- /dev/null +++ b/queue-5.15/fat-fix-uninitialized-variable.patch @@ -0,0 +1,36 @@ +From 963a7f4d3b90ee195b895ca06b95757fcba02d1a Mon Sep 17 00:00:00 2001 +From: OGAWA Hirofumi +Date: Fri, 4 Oct 2024 15:03:49 +0900 +Subject: fat: fix uninitialized variable + +From: OGAWA Hirofumi + +commit 963a7f4d3b90ee195b895ca06b95757fcba02d1a upstream. + +syszbot produced this with a corrupted fs image. In theory, however an IO +error would trigger this also. + +This affects just an error report, so should not be a serious error. + +Link: https://lkml.kernel.org/r/87r08wjsnh.fsf@mail.parknet.co.jp +Link: https://lkml.kernel.org/r/66ff2c95.050a0220.49194.03e9.GAE@google.com +Signed-off-by: OGAWA Hirofumi +Reported-by: syzbot+ef0d7bc412553291aa86@syzkaller.appspotmail.com +Cc: +Signed-off-by: Andrew Morton +Signed-off-by: Greg Kroah-Hartman +--- + fs/fat/namei_vfat.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/fs/fat/namei_vfat.c ++++ b/fs/fat/namei_vfat.c +@@ -1020,7 +1020,7 @@ error_inode: + if (corrupt < 0) { + fat_fs_error(new_dir->i_sb, + "%s: Filesystem corrupted (i_pos %lld)", +- __func__, sinfo.i_pos); ++ __func__, new_i_pos); + } + goto out; + } diff --git a/queue-5.15/mm-swapfile-skip-hugetlb-pages-for-unuse_vma.patch b/queue-5.15/mm-swapfile-skip-hugetlb-pages-for-unuse_vma.patch new file mode 100644 index 00000000000..a311ecb9b7a --- /dev/null +++ b/queue-5.15/mm-swapfile-skip-hugetlb-pages-for-unuse_vma.patch @@ -0,0 +1,46 @@ +From 7528c4fb1237512ee18049f852f014eba80bbe8d Mon Sep 17 00:00:00 2001 +From: Liu Shixin +Date: Tue, 15 Oct 2024 09:45:21 +0800 +Subject: mm/swapfile: skip HugeTLB pages for unuse_vma + +From: Liu Shixin + +commit 7528c4fb1237512ee18049f852f014eba80bbe8d upstream. + +I got a bad pud error and lost a 1GB HugeTLB when calling swapoff. The +problem can be reproduced by the following steps: + + 1. Allocate an anonymous 1GB HugeTLB and some other anonymous memory. + 2. Swapout the above anonymous memory. + 3. run swapoff and we will get a bad pud error in kernel message: + + mm/pgtable-generic.c:42: bad pud 00000000743d215d(84000001400000e7) + +We can tell that pud_clear_bad is called by pud_none_or_clear_bad in +unuse_pud_range() by ftrace. And therefore the HugeTLB pages will never +be freed because we lost it from page table. We can skip HugeTLB pages +for unuse_vma to fix it. + +Link: https://lkml.kernel.org/r/20241015014521.570237-1-liushixin2@huawei.com +Fixes: 0fe6e20b9c4c ("hugetlb, rmap: add reverse mapping for hugepage") +Signed-off-by: Liu Shixin +Acked-by: Muchun Song +Cc: Naoya Horiguchi +Cc: +Signed-off-by: Andrew Morton +Signed-off-by: Greg Kroah-Hartman +--- + mm/swapfile.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/mm/swapfile.c ++++ b/mm/swapfile.c +@@ -2125,7 +2125,7 @@ static int unuse_mm(struct mm_struct *mm + + mmap_read_lock(mm); + for (vma = mm->mmap; vma; vma = vma->vm_next) { +- if (vma->anon_vma) { ++ if (vma->anon_vma && !is_vm_hugetlb_page(vma)) { + ret = unuse_vma(vma, type, frontswap, + fs_pages_to_unuse); + if (ret) diff --git a/queue-5.15/series b/queue-5.15/series index 433ae272d81..6616871a7d8 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -26,3 +26,5 @@ arm64-probes-remove-broken-ldr-literal-uprobe-support.patch arm64-probes-fix-simulate_ldr-_literal.patch net-macb-avoid-20s-boot-delay-by-skipping-mdio-bus-registration-for-fixed-link-phy.patch irqchip-gic-v3-its-fix-vsync-referencing-an-unmapped-vpe-on-gic-v4.1.patch +fat-fix-uninitialized-variable.patch +mm-swapfile-skip-hugetlb-pages-for-unuse_vma.patch