Re: [PATCH v2 5/5] crypto: x86/crc32c - Tweak jump table to validate objtool logic
From: Ard Biesheuvel
Date: Fri Oct 11 2024 - 02:34:00 EST
On Thu, 10 Oct 2024 at 22:34, Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
>
> On Thu, Oct 10, 2024 at 02:28:07PM +0200, Ard Biesheuvel wrote:
> > From: Ard Biesheuvel <ardb@xxxxxxxxxx>
> >
> > Tweak the jump table so
> > - the address is taken far way from its use
> > - its offset from the start of .rodata is != 0x0
> > - its type is STT_OBJECT and its size is set to the size of the actual
> > table
> > - the indirect jump is annotated with a R_X86_64_NONE relocation
> > pointing to the jump table
> >
> > Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
>
> This needs more "why", I assume the goals are to add the annotations +
> confuse objtool if it doesn't read them properly?
>
As presented, this is just a vehicle to test the other changes in the
series. That is why I split it off from the previous one.
Whether or not we want this code in the tree is up for debate, but I
guess it could be useful as a canary for objtool, given that most
configs now disable jump tables entirely.