All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Ard Biesheuvel <ardb@kernel.org>
Cc: Linux ARM <linux-arm-kernel@lists.infradead.org>,
	 Russell King - ARM Linux <linux@armlinux.org.uk>,
	Arnd Bergmann <arnd@arndb.de>, Kees Cook <keescook@chromium.org>,
	 Keith Packard <keithpac@amazon.com>,
	Linus Walleij <linus.walleij@linaro.org>
Subject: Re: [PATCH v2 4/9] ARM: unwind: support unwinding across multiple stacks
Date: Tue, 5 Oct 2021 14:17:50 +0200	[thread overview]
Message-ID: <CAK8P3a0jdCPa=+KhSUg=c-HXN40_FZNbTuDjQAZQe0j4EiwNFQ@mail.gmail.com> (raw)
In-Reply-To: <20211005071542.3127341-5-ardb@kernel.org>

On Tue, Oct 5, 2021 at 9:15 AM Ard Biesheuvel <ardb@kernel.org> wrote:
>
> Implement support in the unwinder for dealing with multiple stacks.
> This will be needed once we add support for IRQ stacks, or for the
> overflow stack used by the vmap'ed stacks code.
>
> This involves tracking the unwind opcodes that either update the virtual
> stack pointer from another virtual register, or perform an explicit
> subtract on the virtual stack pointer, and updating the low and high
> bounds that we use to sanitize the stack pointer accordingly.
>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

I can't say I understand the code in detail, but I see nothing wrong here
either.

Reviewed-by: Arnd Bergmann <arnd@arndb.de>

> -       else if ((insn & 0xf0) == 0xa0) {
> +               ctrl->sp_low = ctrl->vrs[SP];
> +               ctrl->sp_high = ALIGN(ctrl->sp_low, THREAD_SIZE);
> +       } else if ((insn & 0xf0) == 0xa0) {

Would this break if the IRQ stack is not aligned to THREAD_SIZE?
If it would, it may be good to document this somewhere, probably
in patch 7, not here.

        Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-10-05 12:20 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-05  7:15 [PATCH v2 0/9] ARM: add support for IRQ stacks Ard Biesheuvel
2021-10-05  7:15 ` [PATCH v2 1/9] ARM: remove some dead code Ard Biesheuvel
2021-10-05 12:06   ` Arnd Bergmann
2021-10-05  7:15 ` [PATCH v2 2/9] ARM: assembler: introduce bl_r and bl_m macros Ard Biesheuvel
2021-10-05 12:10   ` Arnd Bergmann
2021-10-05 12:14     ` Ard Biesheuvel
2021-10-05  7:15 ` [PATCH v2 3/9] ARM: optimize indirect call to handle_arch_irq for v7 cores Ard Biesheuvel
2021-10-05 12:11   ` Arnd Bergmann
2021-10-05  7:15 ` [PATCH v2 4/9] ARM: unwind: support unwinding across multiple stacks Ard Biesheuvel
2021-10-05 12:17   ` Arnd Bergmann [this message]
2021-10-05  7:15 ` [PATCH v2 5/9] ARM: export dump_mem() to other objects Ard Biesheuvel
2021-10-05 12:15   ` Arnd Bergmann
2021-10-05  7:15 ` [PATCH v2 6/9] ARM: unwind: dump exception stack from calling frame Ard Biesheuvel
2021-10-05 12:20   ` Arnd Bergmann
2021-10-05  7:15 ` [PATCH v2 7/9] ARM: implement IRQ stacks Ard Biesheuvel
2021-10-05 12:26   ` Arnd Bergmann
2021-10-05  7:15 ` [PATCH v2 8/9] ARM: call_with_stack: add unwind support Ard Biesheuvel
2021-10-05 12:22   ` Arnd Bergmann
2021-10-05 18:46     ` Nick Desaulniers
2021-10-05 18:46       ` Nick Desaulniers
2021-10-05 18:57       ` Ard Biesheuvel
2021-10-05 18:57         ` Ard Biesheuvel
2021-10-05  7:15 ` [PATCH v2 9/9] ARM: run softirqs on the per-CPU IRQ stack Ard Biesheuvel
2021-10-05 12:23   ` Arnd Bergmann
2021-10-06 15:21     ` Ard Biesheuvel
2021-10-11 23:29 ` [PATCH v2 0/9] ARM: add support for IRQ stacks Keith Packard
2021-10-16 22:04 ` Linus Walleij

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='CAK8P3a0jdCPa=+KhSUg=c-HXN40_FZNbTuDjQAZQe0j4EiwNFQ@mail.gmail.com' \
    --to=arnd@arndb.de \
    --cc=ardb@kernel.org \
    --cc=keescook@chromium.org \
    --cc=keithpac@amazon.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    /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.