2021-10-08 09:56:38 |
Krzysztof Kozlowski |
description |
Commit 5047ef5725ed ("x86/mm: Don't free P4D table when it is folded at runtime") should not be backported to v4.15 because:
1. It adds pgtable_l5_enabled which does not exist in v4.15,
2. It is marked as v4.17+
3. It is marked as fixing commit which does not exist in v4.15 and was not backported there.
allyesconfig in x86_64 fails to build:
---
In file included from ../arch/x86/include/asm/mmu_context.h:12,
from ../include/linux/mmu_context.h:5,
from ../arch/x86/kvm/../../../virt/kvm/async_pf.c:26:
../arch/x86/include/asm/pgalloc.h: In function ‘p4d_free’:
../arch/x86/include/asm/pgalloc.h:185:7: error: ‘pgtable_l5_enabled’ undeclared (first use in this function); did you mean ‘movable_node_enabled’?
185 | if (!pgtable_l5_enabled)
| ^~~~~~~~~~~~~~~~~~
| movable_node_enabled
--- |
[Impact]
Commit 5047ef5725ed ("x86/mm: Don't free P4D table when it is folded at runtime") should not be backported to v4.15 because:
1. It adds pgtable_l5_enabled which does not exist in v4.15,
2. It is marked as v4.17+
3. It is marked as fixing commit which does not exist in v4.15 and was not backported there.
allyesconfig in x86_64 fails to build:
---
In file included from ../arch/x86/include/asm/mmu_context.h:12,
from ../include/linux/mmu_context.h:5,
from ../arch/x86/kvm/../../../virt/kvm/async_pf.c:26:
../arch/x86/include/asm/pgalloc.h: In function ‘p4d_free’:
../arch/x86/include/asm/pgalloc.h:185:7: error: ‘pgtable_l5_enabled’ undeclared (first use in this function); did you mean ‘movable_node_enabled’?
185 | if (!pgtable_l5_enabled)
| ^~~~~~~~~~~~~~~~~~
| movable_node_enabled
---
[Test Plan]
Compile the x86_64 KVM code.
[Where problems could occur]
If backport commit is actually needed, e.g. when we backport 5-level page tables and commit 98219dda2ab5 ("x86/mm: Fold p4d page table layer at runtime"), this could cause double-free and memory corruption.
When backporting x86_64 5-level pages, we need to bring this commit as well. |
|