Hi Peter, > On Fri, May 2, 2025 at 10:08 AM Catalin Marinas <catalin.marinas@xxxxxxx> wrote: > > > > + Peter Collingbourne as he added the SA_EXPOSE_TAGBITS flag. > > > > On Thu, Apr 10, 2025 at 08:47:20AM +0100, Yeoreum Yun wrote: > > > Use the original FAR_EL1 value when an MTE tag check fault occurs, > > > if ARM64_MTE_FAR is supported. > > > This allows reports to include not only the logical tag (memory tag) > > > but also the address tag information. > > > > > > Applications that require this information should install a signal handler with > > > the SA_EXPOSE_TAGBITS flag. > > > While this introduces a minor ABI change, > > > most applications do not set this flag and therefore will not be affected. > > > > It is indeed a minor ABI in that a tag check fault resulting in a > > signal will report the bits 63:60 as well, not just 59:56 of the address > > (if the signal handler was registered with SA_EXPOSE_TAGBITS). > > > > I don't think user-space would notice but asking Peter. > > On Android we don't set bits 63:60 on heap addresses when MTE is > enabled (and userspace programs aren't allowed to modify them in > addresses they get back from the heap allocator either) so the fault > handler should continue to see them as 0. Of course, a userspace > program could be breaking the rules and setting those bits anyway, but > in that case it looks like the only consequence would be that the > error reports from the heap allocator would sometimes be missing some > information (and this could already happen if the access results in a > non-MTE fault) which I think is acceptable. > > Peter Thanks for your confirmation :) -- Sincerely, Yeoreum Yun