public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@armlinux.org.uk>
To: David Long <dave.long@linaro.org>
Cc: stable@vger.kernel.org, Florian Fainelli <f.fainelli@gmail.com>,
	Tony Lindgren <tony@atomide.com>,
	Marc Zyngier <marc.zyngier@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Mark Brown <broonie@kernel.org>
Subject: Re: [PATCH 4.9 00/24] V4.9 backport of 32-bit arm spectre patches
Date: Fri, 2 Nov 2018 11:28:31 +0000	[thread overview]
Message-ID: <20181102112831.GR30658@n2100.armlinux.org.uk> (raw)
In-Reply-To: <182f7738-b0b9-d903-4b7c-68952a41b810@linaro.org>

On Thu, Nov 01, 2018 at 09:18:02PM -0400, David Long wrote:
> On 10/31/18 9:56 AM, 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.
> >
> >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
> >
> 
> kvm-unit-test'ing of this results in a hypervisor panic that doesn't happen
> without the patches. This needs to be figured out before it is accepted into
> stable. Looks like a V2 will be needed. Clearly kernelci testing alone is
> not sufficient when dealing with kvm changes.

I've discovered in the last few days that kernelci boot testing is
next to useless - it bases its pass/fail result on whether it gets to
a shell prompt, which can happen even if the kernel hits a BUG() or
warning that doesn't prevent the system getting to a shell prompt.

For example, see:

01:08:40.181846  [    9.309984] Unable to handle kernel paging request at virtual address e7fddef0

which is the kernel hitting a BUG() in:

https://storage.kernelci.org/rmk/to-build/v4.16-38-g9fa10446d304/arm/multi_v7_defconfig/lab-collabora/boot-exynos5800-peach-pi.html

and that results in a "pass" result for that boot test.

So, don't believe a "pass" result from kernelci at the moment, it's
meaningless in determining whether anything has broken.  The only
way around this is to manually read each and every boot log, which
is tedious, or run your own tests on local systems.

I've reported this to info@kernelci.org earlier this week, and am
waiting for a response.

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

      parent reply	other threads:[~2018-11-02 20:35 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-31 13:56 [PATCH 4.9 00/24] V4.9 backport of 32-bit arm spectre patches David Long
2018-10-31 13:56 ` [PATCH 4.9 01/24] ARM: add more CPU part numbers for Cortex and Brahma B15 CPUs David Long
2018-10-31 13:56 ` [PATCH 4.9 02/24] ARM: bugs: prepare processor bug infrastructure David Long
2018-10-31 13:56 ` [PATCH 4.9 03/24] ARM: bugs: hook processor bug checking into SMP and suspend paths David Long
2018-10-31 13:56 ` [PATCH 4.9 04/24] ARM: bugs: add support for per-processor bug checking David Long
2018-10-31 13:56 ` [PATCH 4.9 05/24] ARM: spectre: add Kconfig symbol for CPUs vulnerable to Spectre David Long
2018-10-31 13:56 ` [PATCH 4.9 06/24] ARM: spectre-v2: harden branch predictor on context switches David Long
2018-10-31 13:56 ` [PATCH 4.9 07/24] ARM: spectre-v2: add Cortex A8 and A15 validation of the IBE bit David Long
2018-10-31 13:56 ` [PATCH 4.9 08/24] ARM: spectre-v2: harden user aborts in kernel space David Long
2018-10-31 13:56 ` [PATCH 4.9 09/24] ARM: spectre-v2: add firmware based hardening David Long
2018-11-06 10:40   ` Marc Zyngier
2018-11-06 10:55     ` Russell King - ARM Linux
2018-11-06 16:19       ` Mark Brown
2018-11-06 16:30         ` Russell King - ARM Linux
2018-11-06 16:53           ` Mark Brown
2018-11-06 16:20     ` David Long
2018-11-06 16:23       ` Russell King - ARM Linux
2018-10-31 13:56 ` [PATCH 4.9 10/24] ARM: spectre-v2: warn about incorrect context switching functions David Long
2018-10-31 13:57 ` [PATCH 4.9 11/24] ARM: KVM: invalidate BTB on guest exit for Cortex-A12/A17 David Long
2018-11-05  9:13   ` Marc Zyngier
2018-11-07  2:22     ` David Long
2018-11-07  2:23     ` David Long
2018-10-31 13:57 ` [PATCH 4.9 12/24] ARM: KVM: invalidate icache on guest exit for Cortex-A15 David Long
2018-10-31 13:57 ` [PATCH 4.9 13/24] ARM: spectre-v2: KVM: invalidate icache on guest exit for Brahma B15 David Long
2018-10-31 13:57 ` [PATCH 4.9 14/24] ARM: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling David Long
2018-10-31 13:57 ` [PATCH 4.9 15/24] ARM: KVM: report support for SMCCC_ARCH_WORKAROUND_1 David Long
2018-10-31 13:57 ` [PATCH 4.9 16/24] ARM: spectre-v1: add speculation barrier (csdb) macros David Long
2018-10-31 13:57 ` [PATCH 4.9 17/24] ARM: spectre-v1: add array_index_mask_nospec() implementation David Long
2018-10-31 13:57 ` [PATCH 4.9 18/24] ARM: spectre-v1: fix syscall entry David Long
2018-10-31 13:57 ` [PATCH 4.9 19/24] ARM: signal: copy registers using __copy_from_user() David Long
2018-10-31 13:57 ` [PATCH 4.9 20/24] ARM: vfp: use __copy_from_user() when restoring VFP state David Long
2018-10-31 13:57 ` [PATCH 4.9 21/24] ARM: oabi-compat: copy semops using __copy_from_user() David Long
2018-10-31 13:57 ` [PATCH 4.9 22/24] ARM: use __inttype() in get_user() David Long
2018-10-31 13:57 ` [PATCH 4.9 23/24] ARM: spectre-v1: use get_user() for __get_user() David Long
2018-10-31 13:57 ` [PATCH 4.9 24/24] ARM: spectre-v1: mitigate user accesses David Long
2018-10-31 21:23 ` [PATCH 4.9 00/24] V4.9 backport of 32-bit arm spectre patches Florian Fainelli
2018-11-02  1:18 ` David Long
2018-11-02  8:54   ` Marc Zyngier
2018-11-02 17:22     ` David Long
2018-11-02 11:28   ` Russell King - ARM Linux [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181102112831.GR30658@n2100.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=broonie@kernel.org \
    --cc=dave.long@linaro.org \
    --cc=f.fainelli@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=stable@vger.kernel.org \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox