On Tue, May 07, 2024 at 05:28:22PM +0800, Miaohe Lin wrote: > From: Oscar Salvador <osalvador@xxxxxxx> > > Tony reported that the Machine check recovery was broken in v6.9-rc1, as > he was hitting a VM_BUG_ON when injecting uncorrectable memory errors to > DRAM. > > After some more digging and debugging on his side, he realized that this > went back to v6.1, with the introduction of 'commit 0d206b5d2e0d > ("mm/swap: add swp_offset_pfn() to fetch PFN from swap entry")'. That > commit, among other things, introduced swp_offset_pfn(), replacing > hwpoison_entry_to_pfn() in its favour. > > The patch also introduced a VM_BUG_ON() check for is_pfn_swap_entry(), but > is_pfn_swap_entry() never got updated to cover hwpoison entries, which > means that we would hit the VM_BUG_ON whenever we would call > swp_offset_pfn() for such entries on environments with CONFIG_DEBUG_VM > set. Fix this by updating the check to cover hwpoison entries as well, > and update the comment while we are it. > > Link: https://lkml.kernel.org/r/20240407130537.16977-1-osalvador@xxxxxxx > Fixes: 0d206b5d2e0d ("mm/swap: add swp_offset_pfn() to fetch PFN from swap entry") > Signed-off-by: Oscar Salvador <osalvador@xxxxxxx> > Reported-by: Tony Luck <tony.luck@xxxxxxxxx> > Closes: https://lore.kernel.org/all/Zg8kLSl2yAlA3o5D@agluck-desk3/ > Tested-by: Tony Luck <tony.luck@xxxxxxxxx> > Reviewed-by: Peter Xu <peterx@xxxxxxxxxx> > Reviewed-by: David Hildenbrand <david@xxxxxxxxxx> > Acked-by: Miaohe Lin <linmiaohe@xxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> [6.1.x] > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > (cherry picked from commit 07a57a338adb6ec9e766d6a6790f76527f45ceb5) > Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx> > --- > include/linux/swapops.h | 105 ++++++++++++++++++++-------------------- > 1 file changed, 53 insertions(+), 52 deletions(-) Now queued up, thanks. greg k-h