public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@armlinux.org.uk>
To: Mark Brown <broonie@kernel.org>
Cc: Marc Zyngier <marc.zyngier@arm.com>,
	David Long <dave.long@linaro.org>,
	stable@vger.kernel.org, Florian Fainelli <f.fainelli@gmail.com>,
	Tony Lindgren <tony@atomide.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Greg KH <gregkh@linuxfoundation.org>
Subject: Re: [PATCH 4.9 09/24] ARM: spectre-v2: add firmware based hardening
Date: Tue, 6 Nov 2018 16:30:44 +0000	[thread overview]
Message-ID: <20181106163044.GJ30658@n2100.armlinux.org.uk> (raw)
In-Reply-To: <20181106161932.GB31950@sirena.org.uk>

On Tue, Nov 06, 2018 at 04:19:32PM +0000, Mark Brown wrote:
> On Tue, Nov 06, 2018 at 10:55:00AM +0000, Russell King - ARM Linux wrote:
> > On Tue, Nov 06, 2018 at 10:40:33AM +0000, Marc Zyngier wrote:
> 
> > > As pointed out by Ard a while ago [1], this breaks Thumb-2 kernels.
> > > Please keep this series on hold until this is fixed in mainline and
> > > you can cherry-pick the corresponding patch.
> 
> > You have to wonder at the effectiveness of the autobooters if stuff
> > like this is not caught.  There's way too many configuration
> > combinations and firmwares for individuals to be able to test every
> > code path, we need autobooters to have sufficient diversity (and to
> > pick up on failures better) to be able to exercise these in an
> > automated fashion and report decent, reliable results.
> 
> Right, and it depends on what people are willing to contribute hardware
> wise.  However in the case of Thumb it's just a config option so we
> should probably ensure that there's at least one config that's at least
> getting booted, we could put something in the kernel source but I'm
> thinking that the easiest thing would be to teach at least KernelCI to
> just add a multi_v7+THUMB2 build (and then there's userspace too!).
> I'll try look into that after Plumbers, I've got some other stuff queued
> up there anyway.

With any missing ENDPROC(), the only way to currently detect it is by
trying to run the code path - building alone does not flag any warnings
or errors.  That's because the assembler has no idea whether what is
being assembled is code or data, and the purpose of ENDPROC() is to
mark it as code for the rest of the toolchain, so that it can apply the
bit 0 "fixup" for Thumb2 code.

So, in this case, the only way the error is detectable is to have a
platform where we boot a kernel which makes use of the HVC fixup path.

If that's too much to ask, then we're just going to have to accept that
Thumb2 kernels are going to be more fragile than ARM kernels because
there's no way to be certain that we have the correct annotations
everywhere - so we're going to have to rely on users reporting these
bugs _after_ the changes have hit mainline.

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

  reply	other threads:[~2018-11-07  1:56 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 [this message]
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

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=20181106163044.GJ30658@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