[aarch64-port-dev ] [Roland Westrelin] Re: Aarch64 port for ZGC, so far
stuart.monteith at linaro.org
Mon Apr 15 14:57:44 UTC 2019
If I understand this correctly, siginfo_t would contain the
faulting address with the tag wiped. The ucontext would still contain
the full 64-bit registers, unmolested. I've asked internally, but that
is how I've interpreted it.
On Mon, 15 Apr 2019 at 15:00, Andrew Dinn <adinn at redhat.com> wrote:
> On 15/04/2019 09:56, Stuart Monteith wrote:
> > Hello,
> > I'm afraid this is the expected behaviour:
> > https://www.kernel.org/doc/Documentation/arm64/tagged-pointers.txt
> > So it is explicit in stating that we don't pass tagged addresses to the kernel.
> "Non-zero tags are not preserved when delivering signals. This means
> that signal handlers in applications making use of tags cannot rely on
> the tag information for user virtual addresses being maintained for
> fields inside siginfo_t. One exception to this rule is for signals
> raised in response to watchpoint debug exceptions, where the tag
> information will be preserved."
> Yikes! Does that not imply that when we return from a SIGSEGV into a
> handler that an oop held in a register may have its tags wiped?
> Andrew Dinn
> Senior Principal Software Engineer
> Red Hat UK Ltd
> Registered in England and Wales under Company Registration No. 03798903
> Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander
More information about the zgc-dev