Thread (4 messages) 4 messages, 3 authors, 2018-11-30

[PATCH] arm64/bpf: use movn/movk/movk sequence to generate kernel addresses

From: Will Deacon <hidden>
Date: 2018-11-27 18:21:48
Also in: lkml

Hi Ard,

On Fri, Nov 23, 2018 at 06:29:02PM +0100, Ard Biesheuvel wrote:
On arm64, all executable code is guaranteed to reside in the vmalloc
space (or the module space), and so jump targets will only use 48
bits at most, and the remaining bits are guaranteed to be 0x1.

This means we can generate an immediate jump address using a sequence
of one MOVN (move wide negated) and two MOVK instructions, where the
first one sets the lower 16 bits but also sets all top bits to 0x1.

Signed-off-by: Ard Biesheuvel <redacted>
---
Acked-by: Will Deacon <redacted>

Denial, Alexei, shall I take this via arm64, or would you rather take
it via davem?

Cheers,

Will
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help