Re: [PATCH 4.9 00/24] V4.9 backport of 32-bit arm spectre patches

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

 



Hi David,

On 10/31/18 6:56 AM, David Long wrote:
> From: "David A. Long" <dave.long@xxxxxxxxxx>
> 
> V4.9 backport of spectre patches from Russell M. King's spectre branch.
> Patches not yet in upstream are excluded.

Thanks for submitting those patches!

Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>

Boot tested on a Brahma-B15 based platform and did not see any
regressions or issues, seeing about the same hackbench performance
before and after.

Test:
#!/bin/sh
for i in $(seq 0 9)
do
	hackbench 13 process 10000
done

before:

min: 140.800
max: 142.571
avg: 141.7233

after:

min: 140.004
max: 141.600
avg: 141.0242


> 
> Marc Zyngier (2):
>   ARM: KVM: invalidate BTB on guest exit for Cortex-A12/A17
>   ARM: KVM: invalidate icache on guest exit for Cortex-A15
> 
> Russell King (22):
>   ARM: add more CPU part numbers for Cortex and Brahma B15 CPUs
>   ARM: bugs: prepare processor bug infrastructure
>   ARM: bugs: hook processor bug checking into SMP and suspend paths
>   ARM: bugs: add support for per-processor bug checking
>   ARM: spectre: add Kconfig symbol for CPUs vulnerable to Spectre
>   ARM: spectre-v2: harden branch predictor on context switches
>   ARM: spectre-v2: add Cortex A8 and A15 validation of the IBE bit
>   ARM: spectre-v2: harden user aborts in kernel space
>   ARM: spectre-v2: add firmware based hardening
>   ARM: spectre-v2: warn about incorrect context switching functions
>   ARM: spectre-v2: KVM: invalidate icache on guest exit for Brahma B15
>   ARM: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling
>   ARM: KVM: report support for SMCCC_ARCH_WORKAROUND_1
>   ARM: spectre-v1: add speculation barrier (csdb) macros
>   ARM: spectre-v1: add array_index_mask_nospec() implementation
>   ARM: spectre-v1: fix syscall entry
>   ARM: signal: copy registers using __copy_from_user()
>   ARM: vfp: use __copy_from_user() when restoring VFP state
>   ARM: oabi-compat: copy semops using __copy_from_user()
>   ARM: use __inttype() in get_user()
>   ARM: spectre-v1: use get_user() for __get_user()
>   ARM: spectre-v1: mitigate user accesses
> 
>  arch/arm/include/asm/assembler.h   |  12 ++
>  arch/arm/include/asm/barrier.h     |  32 ++++++
>  arch/arm/include/asm/bugs.h        |   6 +-
>  arch/arm/include/asm/cp15.h        |   3 +
>  arch/arm/include/asm/cputype.h     |   8 ++
>  arch/arm/include/asm/kvm_asm.h     |   2 -
>  arch/arm/include/asm/kvm_host.h    |  14 ++-
>  arch/arm/include/asm/kvm_mmu.h     |  23 +++-
>  arch/arm/include/asm/proc-fns.h    |   4 +
>  arch/arm/include/asm/system_misc.h |  15 +++
>  arch/arm/include/asm/thread_info.h |   4 +-
>  arch/arm/include/asm/uaccess.h     |  26 +++--
>  arch/arm/kernel/Makefile           |   1 +
>  arch/arm/kernel/bugs.c             |  18 +++
>  arch/arm/kernel/entry-common.S     |  18 ++-
>  arch/arm/kernel/entry-header.S     |  25 +++++
>  arch/arm/kernel/signal.c           |  55 ++++-----
>  arch/arm/kernel/smp.c              |   4 +
>  arch/arm/kernel/suspend.c          |   2 +
>  arch/arm/kernel/sys_oabi-compat.c  |   8 +-
>  arch/arm/kvm/hyp/hyp-entry.S       | 110 +++++++++++++++++-
>  arch/arm/lib/copy_from_user.S      |   9 ++
>  arch/arm/mm/Kconfig                |  23 ++++
>  arch/arm/mm/Makefile               |   2 +-
>  arch/arm/mm/fault.c                |   3 +
>  arch/arm/mm/proc-macros.S          |   3 +-
>  arch/arm/mm/proc-v7-2level.S       |   6 -
>  arch/arm/mm/proc-v7-bugs.c         | 174 +++++++++++++++++++++++++++++
>  arch/arm/mm/proc-v7.S              | 154 +++++++++++++++++++------
>  arch/arm/vfp/vfpmodule.c           |  17 ++-
>  30 files changed, 674 insertions(+), 107 deletions(-)
>  create mode 100644 arch/arm/kernel/bugs.c
>  create mode 100644 arch/arm/mm/proc-v7-bugs.c
> 


-- 
Florian



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

  Powered by Linux