mbox series

[4.9,V2,00/24] V4.9 backport of 32-bit arm spectre patches

Message ID 20181107164402.9380-1-dave.long@linaro.org
Headers show
Series V4.9 backport of 32-bit arm spectre patches | expand

Message

David Long Nov. 7, 2018, 4:43 p.m. UTC
From: "David A. Long" <dave.long@linaro.org>


V4.9 backport of spectre patches from Russell M. King's spectre branch.
Patches not yet in upstream are excluded.

Changes in V2:
1) Fixed bad merge in #11/24 in hyp-entry.S.
2) Incorporated upstream patch to earlier patch where wrong ENDPROC call
   was done in hypervisor code in proc-v7.S.

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       | 112 ++++++++++++++++++-
 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(+), 109 deletions(-)
 create mode 100644 arch/arm/kernel/bugs.c
 create mode 100644 arch/arm/mm/proc-v7-bugs.c

-- 
2.17.1

Comments

Russell King (Oracle) Nov. 12, 2018, 3:27 p.m. UTC | #1
I wonder whether those who spotted the errors last time around are going
to make any comments on this revised series, or whether we're going to
just sit around looking at each other in silence expecting each other to
do something.

If I go through them again, I'm pretty sure I'll find nothing.

On Wed, Nov 07, 2018 at 11:43:38AM -0500, David Long wrote:
> From: "David A. Long" <dave.long@linaro.org>

> 

> V4.9 backport of spectre patches from Russell M. King's spectre branch.

> Patches not yet in upstream are excluded.

> 

> Changes in V2:

> 1) Fixed bad merge in #11/24 in hyp-entry.S.

> 2) Incorporated upstream patch to earlier patch where wrong ENDPROC call

>    was done in hypervisor code in proc-v7.S.

> 

> 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       | 112 ++++++++++++++++++-

>  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(+), 109 deletions(-)

>  create mode 100644 arch/arm/kernel/bugs.c

>  create mode 100644 arch/arm/mm/proc-v7-bugs.c

> 

> -- 

> 2.17.1

> 


-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up
Greg Kroah-Hartman Nov. 21, 2018, 6:27 p.m. UTC | #2
On Wed, Nov 07, 2018 at 11:43:38AM -0500, David Long wrote:
> From: "David A. Long" <dave.long@linaro.org>

> 

> V4.9 backport of spectre patches from Russell M. King's spectre branch.

> Patches not yet in upstream are excluded.


All now queued up, thanks!

Note, the emails went out with a bit of a mess in the patch headers,
I've fixed them up by hand in the patch queue, so don't worry, the
correct authorship will be attributed properly.

thanks,

greg k-h
David Long Nov. 21, 2018, 7:13 p.m. UTC | #3
On 11/21/18 1:27 PM, Greg KH wrote:
> On Wed, Nov 07, 2018 at 11:43:38AM -0500, David Long wrote:

>> From: "David A. Long" <dave.long@linaro.org>

>>

>> V4.9 backport of spectre patches from Russell M. King's spectre branch.

>> Patches not yet in upstream are excluded.

> 

> All now queued up, thanks!

> 


Thanks much.

> Note, the emails went out with a bit of a mess in the patch headers,

> I've fixed them up by hand in the patch queue, so don't worry, the

> correct authorship will be attributed properly.

> 

> thanks,

> 

> greg k-h

> 


-dl