[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c8f11ce3-1ab4-5e54-85f6-2431c7eb8a7a@iogearbox.net>
Date: Tue, 27 Nov 2018 19:24:40 +0100
From: Daniel Borkmann <daniel@...earbox.net>
To: Will Deacon <will.deacon@....com>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>
Cc: linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
catalin.marinas@....com, ast@...com
Subject: Re: [PATCH] arm64/bpf: use movn/movk/movk sequence to generate kernel
addresses
On 11/27/2018 07:22 PM, Will Deacon wrote:
> 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 <ard.biesheuvel@...aro.org>
>> ---
>
> Acked-by: Will Deacon <will.deacon@....com>
>
> Denial, Alexei, shall I take this via arm64, or would you rather take
> it via davem?
Yeah we can take it via bpf trees, thanks.
Cheers,
Daniel
Powered by blists - more mailing lists