Re: [PATCH 2/4] arm64: implement support for static call trampolines

From: Mark Rutland
Date: Wed Oct 27 2021 - 08:47:53 EST


On Tue, Oct 26, 2021 at 11:06:11AM +0000, David Laight wrote:
> From: Mark Rutland
> > Sent: 26 October 2021 11:37
> ...
> > My preference overall is to keep the trampoline self-contained, and I'd
> > prefer to keep the RET inline in the trampoline rather than trying to
> > factor it out so that all the control-flow is clearly in one place.
> >
> > So I'd prefer that we have the sequence as-is:
> >
> > | 0: .quad 0x0
> > | bti c
> > | < insn >
> > | ldr x16, 0b
> > | cbz x16, 1f
> > | br x16
> > | 1: ret
>
> What is wrong with:
> 0: .quad 1f
> bti c
> < insn >
> ldr x16, 0b
> br x16
> 1: bti c
> ret
>
> Self-contained and reasonably easy to read.

FWIW, that would work for me too.

Thanks,
Mark.