All of lore.kernel.org
 help / color / mirror / Atom feed
From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/7] Ensure stack is aligned for kernel entries
Date: Thu, 22 Nov 2018 15:12:17 +0000	[thread overview]
Message-ID: <20181122151217.GB13896@arm.com> (raw)
In-Reply-To: <CAKv+Gu9o_2-u6MJf1QLLSbdWfPvq0vqr61K0Nawr-Nob6hsepg@mail.gmail.com>

On Thu, Nov 22, 2018 at 01:11:43PM +0100, Ard Biesheuvel wrote:
> On Thu, 22 Nov 2018 at 12:49, Julien Thierry <julien.thierry@arm.com> wrote:
> > On 26/09/18 14:56, Julien Thierry wrote:
> > There is just one case remaining, which is less important as it is
> > mostly a debug concern. If we take an SP alignment fault from EL1 (due
> > to bad implementation) we take recursive exceptions:
> >
> > - Without CONFIG_VMAP_STACK, kernel just freezes always taking SP
> > alignment faults
> > - With CONFIG_VMAP_STACK after taking a number of exceptions, we
> > overflow the stack and the kernel switches to the overflow stack where
> > it finally manages to display a kernel panic message
> >
> > So the question is, do we care about doing something for the above case?
> >
> 
> So in the latter case, it is obvious from the debug output that the
> stack pointer was misaligned? I'd expect so, given that each
> recursively taken exception has the same cause, and so it would be
> clear what happened.
> 
> So I'm leaning towards just relying on that, given that
> CONFIG_VMAP_STACK is the default, although it is unfortunate that
> KASAN still disables it.

Whilst it's unfortunate, I don't think it's the end of the world as long
as KASAN remains a debug-only feature. In that case, you'd only enable it
if you were debugging a suspected use-after-free, and I think the splat
you'd see from the overflow is clear enough that it's not one of those.

However, I really would like a written confirmation (i.e. in some
documentation) from GCC that they won't misalign the SP in generated
code before we drop the meat of this series.

Will

      parent reply	other threads:[~2018-11-22 15:12 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-26 13:56 [PATCH 0/7] Ensure stack is aligned for kernel entries Julien Thierry
2018-09-26 13:56 ` [PATCH 1/7] arm64: Add static check for pt_regs alignment Julien Thierry
2018-11-07 21:58   ` Will Deacon
2018-11-08 10:16     ` Mark Rutland
2018-11-08 11:57       ` Julien Thierry
2018-11-08 16:53         ` Will Deacon
2018-11-08 18:35   ` Ard Biesheuvel
2018-09-26 13:56 ` [PATCH 2/7] arm64: sdei: Always use sdei stack for sdei events Julien Thierry
2018-11-07 21:58   ` Will Deacon
2018-11-21 11:15     ` James Morse
2018-09-26 13:56 ` [PATCH 3/7] arm64: Align stack when taking exception from EL1 Julien Thierry
2018-11-07 21:59   ` Will Deacon
2018-11-08 12:20     ` Julien Thierry
2018-09-26 13:56 ` [PATCH 4/7] arm64: Add fast-path for stack alignment Julien Thierry
2018-11-07 21:59   ` Will Deacon
2018-11-08 12:21     ` Julien Thierry
2018-09-26 13:56 ` [PATCH 5/7] arm64: Do not apply BP hardening for hyp entries from EL2 Julien Thierry
2018-09-26 13:56   ` Julien Thierry
2018-11-07 21:59   ` Will Deacon
2018-11-07 21:59     ` Will Deacon
2018-11-08 12:23     ` Julien Thierry
2018-11-08 12:23       ` Julien Thierry
2018-09-26 13:56 ` [PATCH 6/7] arm64: Do not apply vector harderning " Julien Thierry
2018-09-26 13:56   ` Julien Thierry
2018-11-07 21:59   ` Will Deacon
2018-11-07 21:59     ` Will Deacon
2018-11-08 12:31     ` Julien Thierry
2018-11-08 12:31       ` Julien Thierry
2018-09-26 13:56 ` [PATCH 7/7] arm64: kvm: Align stack for exception coming " Julien Thierry
2018-09-26 13:56   ` Julien Thierry
2018-10-19  8:07 ` [PATCH 0/7] Ensure stack is aligned for kernel entries Julien Thierry
2018-11-07 21:58 ` Will Deacon
2018-11-08 12:43   ` Julien Thierry
2018-11-08 13:04 ` Ard Biesheuvel
2018-11-08 13:27   ` Julien Thierry
2018-11-08 14:10     ` Ard Biesheuvel
2018-11-08 14:19       ` Ramana Radhakrishnan
2018-11-08 15:01         ` Julien Thierry
2018-11-08 15:33           ` Ramana Radhakrishnan
2018-11-08 15:41             ` Julien Thierry
2018-11-08 15:30         ` Dave Martin
2018-11-08 15:33           ` Ramana Radhakrishnan
2018-11-08 15:39             ` Dave Martin
2018-11-08 15:44               ` Ard Biesheuvel
2018-11-08 16:57                 ` Ramana Radhakrishnan
2018-11-08 17:14                   ` Ard Biesheuvel
2018-11-22 11:49 ` Julien Thierry
2018-11-22 12:11   ` Ard Biesheuvel
2018-11-22 15:10     ` Julien Thierry
2018-11-22 15:12     ` Will Deacon [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=20181122151217.GB13896@arm.com \
    --to=will.deacon@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.