[PATCH 0/4] Add AARCH64 pointer authentication support
German Gomez
german.gomez@arm.com
Thu May 19 13:30:23 GMT 2022
Hi Mark, thanks for looking, and sorry for the delay
On 28/04/2022 20:56, Mark Wielaard wrote:
> Hi German,
>
> On Mon, Apr 25, 2022 at 02:03:07PM +0000, German Gomez via Elfutils-devel wrote:
>> I've included a set of patches in order to demangle return addresses in
>> aarch64 platforms with pointer authentication.
>>
>> Besides adding the implementation of the negate_ra_state opcode, there
>> is a new function in the libdwfl.h header to feed the PAC masks to the
>> library.
>>
>> Let me know if there are any concerns with the current version.
> Thanks a lot for this. Last time I looked at this didn't have any
> means to test this, so I skipped implementing it. How did you test? Do
> distributions now enable PAC by default and is there hardware (qemu?)
> support?
So far I've been testing on Graviton3 cores (running linux), which seem
to implement the PAC extension, and it came enabled by default.
https://www.kernel.org/doc/html/latest/arm64/pointer-authentication.html
> I haven't been able to look at the actual patches yet. And I am on
> vacation this week. But I'll review next week after I am back.
Thanks a lot for looking.
>
> A quick scan shows we need a aarch64 special public function, which
> would be slightly ugly imho. I had hoped it could be a variant of the
> func_addr_mask. But maybe this is too different to make more generic.
I did consider func_addr_mask initially, but when I wrote the patch it
wasn't exposed as a perf-thread value. Currently PAC masks are constant
but might be different from thread to thread in the future. So I placed
it in the Thread struct.
I agree the arch-specific naming is not pretty. I think I can certainly
rework it into a more generic feature. But I think I would need to make
sure that the masks can be supplied to the Thread struct before the
unwind.
Thanks,
German
> Cheers,
>
> Mark
>
More information about the Elfutils-devel
mailing list