APPLIED: [SRU][Trusty][PATCH v2 0/7] Follow-up fixes for CVE-2018-3620/CVE-2018-3646

Kleber Souza kleber.souza at canonical.com
Wed Sep 5 14:12:41 UTC 2018


On 08/30/18 14:52, Juerg Haefliger wrote:
> Turns out that the problem with L1TF and NUMA balancing isn't the aliasing of
> _PAGE_NUMA and _PAGE_PROTNONE but the following two issues:
> 
> 1) 3.13 defines NUMA page table operations like pte_mknuma, pmd_mknuma and
>    such, that manipulate NUMA hinting PTEs. These need to be protected
>    against speculation just like the PROT_NONE PTEs, for example.
>    Fix that by adding x86 specific NUMA page table operations.
> 
> 2) Commit "x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation"
>    modified pud_pfn() and pmd_pfn() to do the PFN bits inversion using
>    pmd_pfn_mask() and pud_pfn_mask() helpers to only invert the relevant part
>    of the PUD/PMD. 3.13 doesn't have these masking helpers and the backport of
>    using PTE_PFN_MASK instead was incorrect.
>    Fix that by backporting the commits that introduce the mask helpers.
> 
> Compile tested all supported architectures. Ran stress and boot tests both
> on a physical NUMA machine and a NUMA (and non-NUMA) VM.
> 
> Colin also ran some extended tests on real NUMA HW and reported no problems.
> 
> Signed-off-by: Juerg Haefliger <juergh at canonical.com>
> 
> 
> Cyrill Gorcunov (1):
>   mm: x86 pgtable: drop unneeded preprocessor ifdef
> 
> Juerg Haefliger (2):
>   UBUNTU: SAUCE: x86/speculation/l1tf: Protect NUMA hinting PTEs against
>     speculation
>   Revert "UBUNTU: [Config] disable NUMA_BALANCING"
> 
> Kirill A. Shutemov (1):
>   x86/mm: Fix regression with huge pages on PAE
> 
> Toshi Kani (3):
>   x86/asm: Move PUD_PAGE macros to page_types.h
>   x86/asm: Add pud/pmd mask interfaces to handle large PAT bit
>   x86/asm: Fix pud/pmd interfaces to handle large PAT bit
> 
>  arch/x86/boot/boot.h                      |  1 -
>  arch/x86/boot/video-mode.c                |  2 +
>  arch/x86/boot/video.c                     |  2 +
>  arch/x86/include/asm/page_64_types.h      |  3 -
>  arch/x86/include/asm/page_types.h         |  4 +-
>  arch/x86/include/asm/pgtable-2level.h     | 10 ----
>  arch/x86/include/asm/pgtable.h            | 69 +++++++++++++++++++++--
>  arch/x86/include/asm/pgtable_64.h         | 21 +++++--
>  arch/x86/include/asm/pgtable_types.h      | 34 +++++++++--
>  arch/x86/include/asm/x86_init.h           |  1 -
>  debian.master/config/config.common.ubuntu |  4 +-
>  11 files changed, 119 insertions(+), 32 deletions(-)
> 

Applied to trusty/master-next branch.

Thanks,
Kleber




More information about the kernel-team mailing list