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

Message ID 20190214144930.27539-1-dave.long@linaro.org
Headers show
Series
  • V4.9 backport of more 32-bit arm spectre patches
Related show

Message

David Long Feb. 14, 2019, 2:49 p.m.
From: "David A. Long" <dave.long@linaro.org>


V4.9 backport of spectre patches from Russell M. King's spectre branch.
Patches have been kvm-unit-test'ed on an arndale, run through kernelci, and
handed off to ARM for functional testing.

Julien Thierry (9):
  ARM: 8789/1: signal: copy registers using __copy_to_user()
  ARM: 8791/1: vfp: use __copy_to_user() when saving VFP state
  ARM: 8792/1: oabi-compat: copy oabi events using __copy_to_user()
  ARM: 8793/1: signal: replace __put_user_error with __put_user
  ARM: 8794/1: uaccess: Prevent speculative use of the current
    addr_limit
  ARM: 8795/1: spectre-v1.1: use put_user() for __put_user()
  ARM: 8796/1: spectre-v1,v1.1: provide helpers for address sanitization
  ARM: 8797/1: spectre-v1.1: harden __copy_to_user
  ARM: 8810/1: vfp: Fix wrong assignement to ufp_exc

Russell King (7):
  ARM: make lookup_processor_type() non-__init
  ARM: split out processor lookup
  ARM: clean up per-processor check_bugs method call
  ARM: add PROC_VTABLE and PROC_TABLE macros
  ARM: spectre-v2: per-CPU vtables to work around big.Little systems
  ARM: ensure that processor vtables is not lost after boot
  ARM: fix the cockup in the previous patch

 arch/arm/include/asm/assembler.h   | 11 +++++
 arch/arm/include/asm/cputype.h     |  1 +
 arch/arm/include/asm/proc-fns.h    | 61 +++++++++++++++++++++-----
 arch/arm/include/asm/thread_info.h |  4 +-
 arch/arm/include/asm/uaccess.h     | 49 ++++++++++++++++++---
 arch/arm/kernel/bugs.c             |  4 +-
 arch/arm/kernel/head-common.S      |  6 +--
 arch/arm/kernel/setup.c            | 40 ++++++++++-------
 arch/arm/kernel/signal.c           | 70 ++++++++++++++++--------------
 arch/arm/kernel/smp.c              | 32 ++++++++++++++
 arch/arm/kernel/sys_oabi-compat.c  |  8 +++-
 arch/arm/lib/copy_from_user.S      |  6 +--
 arch/arm/lib/copy_to_user.S        |  6 ++-
 arch/arm/lib/uaccess_with_memcpy.c |  3 +-
 arch/arm/mm/proc-macros.S          | 10 +++++
 arch/arm/mm/proc-v7-bugs.c         | 17 +-------
 arch/arm/vfp/vfpmodule.c           | 20 ++++-----
 17 files changed, 240 insertions(+), 108 deletions(-)

-- 
2.17.1

Comments

Julien Thierry Feb. 14, 2019, 6:02 p.m. | #1
Hi David,

On 14/02/2019 14:49, 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 have been kvm-unit-test'ed on an arndale, run through kernelci, and

> handed off to ARM for functional testing.

> 


As for 4.14 and 4.19, I reviewed those patches and checked to code
generation for Spectre-v1.1. So for all the patches:

Reviewed-by: Julien Thierry <julien.thierry@arm.com>


However, 4.9 stable does not boot on TC2 (the arm32 big.Little platform
I have at hand), even without this backport (so at least it isn't these
patches breaking things). So I've been unable to test the Spectre-v2
big.Little patches.

Thanks,

-- 
Julien Thierry
Sasha Levin Feb. 17, 2019, 7:09 p.m. | #2
On Thu, Feb 14, 2019 at 09:49:14AM -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 have been kvm-unit-test'ed on an arndale, run through kernelci, and

>handed off to ARM for functional testing.

>

>Julien Thierry (9):

>  ARM: 8789/1: signal: copy registers using __copy_to_user()

>  ARM: 8791/1: vfp: use __copy_to_user() when saving VFP state

>  ARM: 8792/1: oabi-compat: copy oabi events using __copy_to_user()

>  ARM: 8793/1: signal: replace __put_user_error with __put_user

>  ARM: 8794/1: uaccess: Prevent speculative use of the current

>    addr_limit

>  ARM: 8795/1: spectre-v1.1: use put_user() for __put_user()

>  ARM: 8796/1: spectre-v1,v1.1: provide helpers for address sanitization

>  ARM: 8797/1: spectre-v1.1: harden __copy_to_user

>  ARM: 8810/1: vfp: Fix wrong assignement to ufp_exc

>

>Russell King (7):

>  ARM: make lookup_processor_type() non-__init

>  ARM: split out processor lookup

>  ARM: clean up per-processor check_bugs method call

>  ARM: add PROC_VTABLE and PROC_TABLE macros

>  ARM: spectre-v2: per-CPU vtables to work around big.Little systems

>  ARM: ensure that processor vtables is not lost after boot

>  ARM: fix the cockup in the previous patch


Queued for 4.9, thank you.

--
Thanks,
Sasha