Re: [PATCH RFC 13/43] x86/paravirt: Use relative reference for original instruction

From: Nadav Amit
Date: Mon Jun 05 2023 - 02:41:51 EST




> On Jun 1, 2023, at 2:29 AM, Juergen Gross <jgross@xxxxxxxx> wrote:
>
> On 28.04.23 11:50, Hou Wenlong wrote:
>> Similar to the alternative patching, use relative reference for original
>> instruction rather than absolute one, which saves 8 bytes for one entry
>> on x86_64. And it could generate R_X86_64_PC32 relocation instead of
>> R_X86_64_64 relocation, which also reduces relocation metadata on
>> relocatable builds. And the alignment could be hard coded to be 4 now.
>> Signed-off-by: Hou Wenlong <houwenlong.hwl@xxxxxxxxxxxx>
>> Cc: Thomas Garnier <thgarnie@xxxxxxxxxxxx>
>> Cc: Lai Jiangshan <jiangshan.ljs@xxxxxxxxxxxx>
>> Cc: Kees Cook <keescook@xxxxxxxxxxxx>
>
> Reviewed-by: Juergen Gross <jgross@xxxxxxxx>
>
> I think this patch should be taken even without the series.

It looks good to me, I am just not sure what the alignment is needed
at all.

Why not to make the struct __packed (like struct alt_instr) and get rid
of all the .align directives? Am I missing something?