mirror of https://github.com/torvalds/linux.git
Recently _pgd_alloc() was switched from using __get_free_pages() to
pagetable_alloc_noprof(), which might return a compound page in case
the allocation order is larger than 0.
On x86 this will be the case if CONFIG_MITIGATION_PAGE_TABLE_ISOLATION
is set, even if PTI has been disabled at runtime.
When running as a Xen PV guest (this will always disable PTI), using
a compound page for a PGD will result in VM_BUG_ON_PGFLAGS being
triggered when the Xen code tries to pin the PGD.
Fix the Xen issue together with the not needed 8k allocation for a
PGD with PTI disabled by replacing PGD_ALLOCATION_ORDER with an
inline helper returning the needed order for PGD allocations.
Fixes:
|
||
|---|---|---|
| .. | ||
| atom | ||
| ce4100 | ||
| efi | ||
| geode | ||
| intel | ||
| intel-mid | ||
| intel-quark | ||
| iris | ||
| olpc | ||
| pvh | ||
| scx200 | ||
| ts5500 | ||
| uv | ||
| Makefile | ||