mbox series

[SRU,B,0/1] revert v4.17 stable backport patch

Message ID 20211008100033.105538-1-krzysztof.kozlowski@canonical.com
Headers show
Series revert v4.17 stable backport patch | expand

Message

Krzysztof Kozlowski Oct. 8, 2021, 10 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1946464

[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.

Best regards,
Krzysztof

Krzysztof Kozlowski (1):
  UBUNTU: SAUCE: Revert "x86/mm: Don't free P4D table when it is folded
    at runtime"

 arch/x86/include/asm/pgalloc.h | 3 ---
 1 file changed, 3 deletions(-)

Comments

Colin Ian King Oct. 8, 2021, 10:31 a.m. UTC | #1
On 08/10/2021 11:00, Krzysztof Kozlowski wrote:
> BugLink: https://bugs.launchpad.net/bugs/1946464
> 
> [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.
> 
> Best regards,
> Krzysztof
> 
> Krzysztof Kozlowski (1):
>    UBUNTU: SAUCE: Revert "x86/mm: Don't free P4D table when it is folded
>      at runtime"
> 
>   arch/x86/include/asm/pgalloc.h | 3 ---
>   1 file changed, 3 deletions(-)
> 

Yep, makes perfect sense, thanks Krzysztof

Acked-by: Colin Ian King <colin.king@canonical.com>
Kelsey Skunberg Oct. 13, 2021, 12:06 a.m. UTC | #2
On 2021-10-08 12:00:32 , Krzysztof Kozlowski wrote:
> BugLink: https://bugs.launchpad.net/bugs/1946464
> 
> [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.
> 
> Best regards,
> Krzysztof
> 
> Krzysztof Kozlowski (1):
>   UBUNTU: SAUCE: Revert "x86/mm: Don't free P4D table when it is folded
>     at runtime"
> 
>  arch/x86/include/asm/pgalloc.h | 3 ---
>  1 file changed, 3 deletions(-)
> 
> -- 
> 2.30.2
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team