[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <adb5d79f-189b-b5b7-ff22-a6c4807e0f25@iogearbox.net>
Date: Fri, 30 Nov 2018 11:07:32 +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:24 PM, Daniel Borkmann wrote:
> 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.
And now applied, thanks!
Powered by blists - more mailing lists