[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260114172741.b8b6cb9aae39a5ae7a199eed@linux-foundation.org>
Date: Wed, 14 Jan 2026 17:27:41 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: <robin.kuo@...iatek.com>
Cc: Chris Li <chrisl@...nel.org>, Kairui Song <kasong@...cent.com>, Kemeng
Shi <shikemeng@...weicloud.com>, Nhat Pham <nphamcs@...il.com>, Baoquan He
<bhe@...hat.com>, Barry Song <baohua@...nel.org>, Matthias Brugger
<matthias.bgg@...il.com>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>, <wsd_upstream@...iatek.com>,
<casper.li@...iatek.com>, <chinwen.chang@...iatek.com>,
<Andrew.Yang@...iatek.com>, <Qun-wei.Lin@...iatek.com>,
<oliver.sang@...el.com>, <linux-mm@...ck.org>,
<linux-kernel@...r.kernel.org>, <linux-arm-kernel@...ts.infradead.org>,
<linux-mediatek@...ts.infradead.org>
Subject: Re: [PATCH 1/1] Restore swap_space attr aviod krn panic
On Thu, 15 Jan 2026 08:13:43 +0800 <robin.kuo@...iatek.com> wrote:
> From: "robin.kuo" <robin.kuo@...iatek.com>
>
> Restore swap_space attr avoid krn panic
Thanks, and welcome to Linux ;)
> Commit 8b47299a411a ('mm, swap: mark swap address space ro and add
> context debug check') made the swap address space read-only.
> It may lead to kernel panic if arch_prepare_to_swap returns a failure
> under heavy memory pressure as follows,
>
> el1_abort+0x40/0x64
> el1h_64_sync_handler+0x48/0xcc
> el1h_64_sync+0x84/0x88
> errseq_set+0x4c/0xb8 (P)
> __filemap_set_wb_err+0x20/0xd0
> shrink_folio_list+0xc20/0x11cc
> evict_folios+0x1520/0x1be4
> try_to_shrink_lruvec+0x27c/0x3dc
> shrink_one+0x9c/0x228
> shrink_node+0xb3c/0xeac
> do_try_to_free_pages+0x170/0x4f0
> try_to_free_pages+0x334/0x534
> __alloc_pages_direct_reclaim+0x90/0x158
> __alloc_pages_slowpath+0x334/0x588
> __alloc_frozen_pages_noprof+0x224/0x2fc
> __folio_alloc_noprof+0x14/0x64
> vma_alloc_zeroed_movable_folio+0x34/0x44
> do_pte_missing+0xad4/0x1040
> handle_mm_fault+0x4a4/0x790
> do_page_fault+0x288/0x5f8
> do_translation_fault+0x38/0x54
> do_mem_abort+0x54/0xa8
>
> Restore swap address space as not ro to avoid the panic.
Well damn. We have checking tools which should be able to detect this:
we referenced something which was dropped from kernel memory in the
calling function's context. i don't know who I should report this to.
I shall add cc:stable to this patch, to help ensure that it is
backported into 6.18.x.
Powered by blists - more mailing lists