Re: [RFC PATCH v1 0/9] arm64: livepatch: Use DWARF Call Frame Information for frame pointer validation
From: Peter Zijlstra
Date: Fri Apr 08 2022 - 07:42:06 EST
Right; so not having seen the patches due to Madhaven's email being
broken, I can perhaps less appreciated the crazy involved.
On Thu, Apr 07, 2022 at 05:21:51PM -0700, Josh Poimboeuf wrote:
> 2)
>
> If I understand correctly, objtool is converting parts of DWARF to a new
> format which can then be read by the kernel. In that case, please don't
> call it DWARF as that will cause a lot of confusion.
>
> There are actually several similarities between your new format and ORC,
> which is also an objtool-created DWARF alternative. It would be
> interesting to see if they could be combined somehow.
What Josh said; please use/extend ORC.
I really don't understand where all this crazy is coming from; why does
objtool need to do something radically weird for ARM64?
There are existing ARM64 patches for objtool; in fact they have recently
been re-posted:
https://lkml.kernel.org/r/20220407120141.43801-1-chenzhongjin@xxxxxxxxxx
The only tricky bit seems to be the whole jump-table issue. Using DWARF
as input to deal with jump-tables should be possible -- exceedingly
overkill, but possible I suppose. Mandating DWARF sucks though, compile
times are so much worse with DWARVES on :/
Once objtool can properly follow/validate ARM64 code, it should be
fairly straight forward to have it generate ORC data just like it does
on x86_64.