From: Eli Zaretskii via Gdb-patches <gdb-patches@sourceware.org>
To: Luis Machado <luis.machado@linaro.org>
Cc: david.spickett@linaro.org, gdb-patches@sourceware.org
Subject: Re: [PATCH v2 20/24] Documentation for the new mtag commands
Date: Fri, 23 Oct 2020 20:52:23 +0300 [thread overview]
Message-ID: <83y2jwj0dk.fsf@gnu.org> (raw)
In-Reply-To: <bc9965cc-5ec9-ca1c-c9b4-027f0e18cb85@linaro.org> (message from Luis Machado on Fri, 23 Oct 2020 11:33:36 -0300)
> Cc: gdb-patches@sourceware.org, david.spickett@linaro.org
> From: Luis Machado <luis.machado@linaro.org>
> Date: Fri, 23 Oct 2020 11:33:36 -0300
>
> But, in general, there will always be a memory-side tag against which a
> logical tag (contained in a pointer, for example) will be matched against.
This is the crucial aspect that should be stated, IMO.
> >> +@kindex mtag setltag
> >> +@item mtag setltag @var{address_expression} @var{tag_bytes}
> >> +Print the address given by @var{address_expression}, augmented with a logical
> >
> > It is strange for a command whose name is "set..." to print
> > something. I'd expect it to set something instead. is the above
> > description correct?
> >
>
> Yes. This is one area that I'd welcome some discussion/feedback.
>
> We don't always have a modifiable value as an argument to the "mtag
> setltag" command. We could have a constant value, a read-only value,
> some reference or some expression containing multiple pointers.
>
> Plus, the most natural way to modify a value in GDB is through the
> existing "set variable" command.
>
> The main goal is to be able to augment a particular address with a given
> logical tag. That augmented value can then be used to set a particular
> pointer or value. It will be stored in the history anyway, so that's
> already a value that you can use.
>
> There won't be much reason to set logical tags other than if you're
> chasing bugs and trying to cause one. It is one additional knob so that
> you won't need to craft the tagged pointer by hand.
Maybe the command should be called something other than "set...",
then?
> >> +@kindex mtag check
> >> +@item mtag check @var{address_expression}
> >> +Check that the logical tag stored at the address given by
> >> +@var{address_expression} matches the allocation tag for the same address.
> >
> > This test should say that this check performs the same validation as
> > is done in hardware when memory is accessed through a pointer. Saying
> > that (assuming I understood correctly) will go a long way towards
> > causing this facility to make much more sense to the reader.
>
> Does it make it more clear if I add the following:
>
> "This essentially emulates the hardware validation that is done when
> tagged memory is accessed through a pointer, but does not cause a memory
> fault as it would during hardware validation.
>
> It can be used to inspect potential memory tagging violations in the
> running process, before any faults get triggered."
Yes, this is a good addition, thanks.
next prev parent reply other threads:[~2020-10-23 17:52 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-22 19:59 [PATCH v2 00/24] Memory Tagging Support + AArch64 Linux implementation Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 01/24] New target methods for memory tagging support Luis Machado via Gdb-patches
2020-10-27 13:22 ` Simon Marchi
2020-10-27 13:43 ` Luis Machado via Gdb-patches
2020-10-27 13:50 ` Simon Marchi
2020-10-22 19:59 ` [PATCH v2 02/24] New gdbarch memory tagging hooks Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 03/24] Add GDB-side remote target support for memory tagging Luis Machado via Gdb-patches
2020-10-29 14:22 ` Alan Hayward via Gdb-patches
2020-10-29 14:41 ` Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 04/24] Unit testing for GDB-side remote memory tagging handling Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 05/24] GDBserver remote packet support for memory tagging Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 06/24] Unit tests for gdbserver memory tagging remote packets Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 07/24] Documentation for " Luis Machado via Gdb-patches
2020-10-23 6:25 ` Eli Zaretskii via Gdb-patches
2020-10-23 14:07 ` Luis Machado via Gdb-patches
2020-10-23 14:33 ` Eli Zaretskii via Gdb-patches
2020-10-23 14:39 ` Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 08/24] AArch64: Add MTE CPU feature check support Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 09/24] AArch64: Add target description/feature for MTE registers Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 10/24] AArch64: Add MTE register set support for GDB and gdbserver Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 11/24] AArch64: Add MTE ptrace requests Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 12/24] AArch64: Implement memory tagging target methods for AArch64 Luis Machado via Gdb-patches
2020-10-29 14:21 ` Alan Hayward via Gdb-patches
2020-10-29 14:39 ` Luis Machado via Gdb-patches
2020-10-29 14:45 ` Luis Machado via Gdb-patches
2020-10-29 17:32 ` Alan Hayward via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 13/24] Refactor parsing of /proc/<pid>/smaps Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 14/24] AArch64: Implement the memory tagging gdbarch hooks Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 15/24] AArch64: Add unit testing for logical tag set/get operations Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 16/24] AArch64: Report tag violation error information Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 17/24] AArch64: Add gdbserver MTE support Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 18/24] AArch64: Add MTE register set support for core files Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 19/24] New mtag commands Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 20/24] Documentation for the new " Luis Machado via Gdb-patches
2020-10-23 6:35 ` Eli Zaretskii via Gdb-patches
2020-10-23 14:33 ` Luis Machado via Gdb-patches
2020-10-23 17:52 ` Eli Zaretskii via Gdb-patches [this message]
2020-10-23 19:04 ` Luis Machado via Gdb-patches
2020-10-23 19:34 ` Eli Zaretskii via Gdb-patches
2020-10-26 14:59 ` Luis Machado via Gdb-patches
2020-10-26 15:35 ` Eli Zaretskii via Gdb-patches
2020-10-26 16:57 ` Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 21/24] Extend "x" and "print" commands to support memory tagging Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 22/24] Document new "x" and "print" memory tagging extensions Luis Machado via Gdb-patches
2020-10-23 6:37 ` Eli Zaretskii via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 23/24] Add NEWS entry Luis Machado via Gdb-patches
2020-10-23 6:38 ` Eli Zaretskii via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 24/24] Add memory tagging testcases Luis Machado via Gdb-patches
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=83y2jwj0dk.fsf@gnu.org \
--to=gdb-patches@sourceware.org \
--cc=david.spickett@linaro.org \
--cc=eliz@gnu.org \
--cc=luis.machado@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox