Re: [PATCH v4.9.y 00/27] arm64 meltdown patches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/03/2018 04:08 AM, Mark Rutland wrote:
> Hi Greg,
> 
> These patches backport KPTI to v4.9.y (based on v4.9.92), providing protection
> against meltdown on arm64 platforms.
> 
> I picked up Alex Shi's backport for review and testing, and as I found a couple
> of issues to fix up, I'm sending this with my Signed-off-by in the chain, with
> those fixups applied and noted.
> 
> To the best of my understanding the code is correct, in the context of the
> v4.9.y kernel, and I've tested the seires on arm64 hardware available to me.
> i.e. if this didn't have my Signed-off-by it would have my Reviewed-by and
> Tested-by tags.
> 
> Are you happy to pick these up for v4.9.93?
> 
> Thanks,
> Mark.
> 
> AKASHI Takahiro (1):
>   module: extend 'rodata=off' boot cmdline parameter to module mappings
> 
> Jayachandran C (2):
>   arm64: cputype: Add MIDR values for Cavium ThunderX2 CPUs
>   arm64: Turn on KPTI only on CPUs that need it
> 
> Marc Zyngier (2):
>   arm64: Allow checking of a CPU-local erratum
>   arm64: Force KPTI to be disabled on Cavium ThunderX
> 
> Mark Rutland (1):
>   arm64: factor out entry stack manipulation
> 
> Suzuki K Poulose (1):
>   arm64: capabilities: Handle duplicate entries for a capability
> 
> Will Deacon (20):
>   arm64: mm: Use non-global mappings for kernel space
>   arm64: mm: Move ASID from TTBR0 to TTBR1
>   arm64: mm: Allocate ASIDs in pairs
>   arm64: mm: Add arm64_kernel_unmapped_at_el0 helper
>   arm64: mm: Invalidate both kernel and user ASIDs when performing TLBI
>   arm64: entry: Add exception trampoline page for exceptions from EL0
>   arm64: mm: Map entry trampoline into trampoline and kernel page tables
>   arm64: entry: Explicitly pass exception level to kernel_ventry macro
>   arm64: entry: Hook up entry trampoline to exception vectors
>   arm64: tls: Avoid unconditional zeroing of tpidrro_el0 for native
>     tasks
>   arm64: entry: Add fake CPU feature for unmapping the kernel at EL0
>   arm64: kaslr: Put kernel vectors address in separate data page
>   arm64: use RET instruction for exiting the trampoline
>   arm64: Kconfig: Add CONFIG_UNMAP_KERNEL_AT_EL0
>   arm64: Kconfig: Reword UNMAP_KERNEL_AT_EL0 kconfig entry
>   arm64: Take into account ID_AA64PFR0_EL1.CSV3
>   arm64: kpti: Make use of nG dependent on
>     arm64_kernel_unmapped_at_el0()
>   arm64: kpti: Add ->enable callback to remap swapper using nG mappings
>   arm64: entry: Reword comment about post_ttbr_update_workaround
>   arm64: idmap: Use "awx" flags for .idmap.text .pushsection directives
> 
>  arch/arm64/Kconfig                     |  12 ++
>  arch/arm64/include/asm/assembler.h     |   3 +
>  arch/arm64/include/asm/cpucaps.h       |   3 +-
>  arch/arm64/include/asm/cputype.h       |   3 +
>  arch/arm64/include/asm/fixmap.h        |   6 +
>  arch/arm64/include/asm/mmu.h           |  11 ++
>  arch/arm64/include/asm/mmu_context.h   |   7 ++
>  arch/arm64/include/asm/pgtable-hwdef.h |   1 +
>  arch/arm64/include/asm/pgtable-prot.h  |  35 +++---
>  arch/arm64/include/asm/pgtable.h       |   1 +
>  arch/arm64/include/asm/proc-fns.h      |   6 -
>  arch/arm64/include/asm/sysreg.h        |   1 +
>  arch/arm64/include/asm/tlbflush.h      |  16 ++-
>  arch/arm64/kernel/asm-offsets.c        |   6 +-
>  arch/arm64/kernel/cpu-reset.S          |   2 +-
>  arch/arm64/kernel/cpufeature.c         | 135 ++++++++++++++++++---
>  arch/arm64/kernel/entry.S              | 188 ++++++++++++++++++++++++----
>  arch/arm64/kernel/head.S               |   2 +-
>  arch/arm64/kernel/process.c            |  12 +-
>  arch/arm64/kernel/sleep.S              |   2 +-
>  arch/arm64/kernel/vmlinux.lds.S        |  22 +++-
>  arch/arm64/mm/context.c                |  25 ++--
>  arch/arm64/mm/mmu.c                    |  31 +++++
>  arch/arm64/mm/proc.S                   | 216 +++++++++++++++++++++++++++++++--
>  include/linux/init.h                   |   3 +
>  init/main.c                            |   7 +-
>  kernel/module.c                        |  20 ++-
>  27 files changed, 675 insertions(+), 101 deletions(-)
> 

I ran this series on the 1st gen hikey dev board and it works fine for me.

On top of mainline v4.9.92, tip-of-tree AOSP userspace boots to a serial
shell.

On top of the android-linaro-hikey-4.9 branch on AOSP, it boots to the
home screen without issues.  (android-4.9 has an out-of-tree SW PAN
backport which I reverted locally for testing purposes.)

So for the series:

Tested-by: Greg Hackmann <ghackmann@xxxxxxxxxx>



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]