On 2026/5/27 22:06, Breno Leitao wrote: > The previous patch teaches get_any_page() to return -ENOTRECOVERABLE > for stable unhandlable kernel pages (PG_reserved, slab, page tables, > large-kmalloc). memory_failure() still folds every negative return > into MF_MSG_GET_HWPOISON, so callers that want to react to the > unrecoverable cases (a panic option, smarter logging) cannot tell > them apart from transient page-allocator races. > > Turn the post-call branch into a switch over the get_hwpoison_page() > return code: map -ENOTRECOVERABLE to MF_MSG_KERNEL and any other > negative return to MF_MSG_GET_HWPOISON. case 0 keeps the existing > free-buddy / kernel-high-order handling and case 1 falls through to > the rest of memory_failure() unchanged. > > The MF_MSG_KERNEL label and tracepoint string are kept as > "reserved kernel page" to avoid breaking userspace tools that match > on those literals; the enum value still adequately tags the failure > even though it now also covers slab, page tables and large-kmalloc > pages. > > Suggested-by: David Hildenbrand <[email protected]> > Signed-off-by: Breno Leitao <[email protected]>
Acked-by: Miaohe Lin <[email protected]> Thanks. .
