mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-26 22:24:09 +08:00
Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 pti updates from Thomas Gleixner: "Two small PTI updates: - Handle unaligned addresses gracefully in pti_clone_pagetable(). Not an issue with current callers, but a correctness problem. Adds a warning so any caller which hands in an unaligned address gets pointed out clearly. - Prevent PTI functions from being invoked when PTI is disabled at boottime. While this does not cause any harm today, it's pointless code executed and prone to cause subtle issues if the PTI implementation changes internally over time" * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mm/pti: Do not invoke PTI functions when PTI is disabled x86/mm/pti: Handle unaligned address gracefully in pti_clone_pagetable()
This commit is contained in:
commit
3fb7f3a6ed
@ -330,13 +330,15 @@ pti_clone_pgtable(unsigned long start, unsigned long end,
|
|||||||
|
|
||||||
pud = pud_offset(p4d, addr);
|
pud = pud_offset(p4d, addr);
|
||||||
if (pud_none(*pud)) {
|
if (pud_none(*pud)) {
|
||||||
addr += PUD_SIZE;
|
WARN_ON_ONCE(addr & ~PUD_MASK);
|
||||||
|
addr = round_up(addr + 1, PUD_SIZE);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
pmd = pmd_offset(pud, addr);
|
pmd = pmd_offset(pud, addr);
|
||||||
if (pmd_none(*pmd)) {
|
if (pmd_none(*pmd)) {
|
||||||
addr += PMD_SIZE;
|
WARN_ON_ONCE(addr & ~PMD_MASK);
|
||||||
|
addr = round_up(addr + 1, PMD_SIZE);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -666,6 +668,8 @@ void __init pti_init(void)
|
|||||||
*/
|
*/
|
||||||
void pti_finalize(void)
|
void pti_finalize(void)
|
||||||
{
|
{
|
||||||
|
if (!boot_cpu_has(X86_FEATURE_PTI))
|
||||||
|
return;
|
||||||
/*
|
/*
|
||||||
* We need to clone everything (again) that maps parts of the
|
* We need to clone everything (again) that maps parts of the
|
||||||
* kernel image.
|
* kernel image.
|
||||||
|
Loading…
Reference in New Issue
Block a user