Shadow stack command to host related subcommands (was Re: Shadow stack backtrace command name)

Thiago Jung Bauermann via Gdb
2023-12-21T22:27:16Z

Hello again,

This isn't about backtrace, but still related to your proposal I think.

"Schimpe, Christina via Gdb" <gdb@sourceware.org> writes:

> It is configurable using "print symbol-filename" and COUNT.
> The command can be called by the following names:
> - "info shadow-stack bt", "info shadow-stack backtrace"
>
> From my perspective, the command name has the following pros and cons:
> (+) Easy to understand by just looking at the command name.
> (-) Rather long syntax

As I mentioned yesterday, I like the "bt -shadow" proposal but I'd also
like to have an "info shadow-stack" command (or just "shadow-stack" as
suggested by Guinevere) to hang a couple of GCS subcommands onto, e.g.:

info shadow-stack enabled
info shadow-stack locked

which would get/set the GCS features that are enabled or locked. These
correspond to a couple of entries in the structure returned by ptrace's
NT_ARM_GCS regset in Linux:

struct user_gcs
{
uint64_t features_enabled;
uint64_t features_locked;
uint64_t gcspr_el0;
};

Initially I thought of exposing them as pseudo-registers, but this way
seems more straightforward.

What do you think? Would this be useful for Intel CET as well?

--
Thiago