[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