> + decoy_addr = (pfn << PAGE_SHIFT) + (PAGE_OFFSET ^ BIT(63)); > +#else > +#error "no unused virtual bit available" > +#endif > + > + if (set_memory_np(decoy_addr, 1)) > + pr_warn("Could not invalidate pfn=0x%lx from 1:1 map \n", pfn); Does this patch handle breaking up 512 GiB, 1 GiB or 2 MiB page mappings if it's just trying to mark a 4 KiB page as bad? Although the kernel doesn't use MTRRs itself anymore, what if the system BIOS still uses them for some memory regions, and the bad address falls in an MTRR region? --- Robert Elliott, HPE Persistent Memory -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href