KASLR support on ARM with Kernel 4.9 and 4.14
pintu.ping at gmail.com
Sat Sep 26 03:58:02 EDT 2020
On Sat, 26 Sep 2020 at 05:17, Kees Cook <keescook at chromium.org> wrote:
> > For a 3/1 split ARM kernel of the typical size, all kernel virtual
> > addresses start with 0xc0, and given that the kernel is located at the
> > start of the linear map, those addresses cannot change even if you
> > move the kernel around in physical memory.
> I wonder if this is an Android Common kernel? I think there was %p
> hashing in there before v4.15, but with a different implementation...
Thank you all for all your reply and comments so far!
Here are some follow-up replies.
>> What device is this? Is it a stock kernel?
This is a Qualcomm Snapdragon Automotive board one with Linux Kernel
4.9 and one with 4.14.
>> Is the boot loader changing the base address? (What boot loader are you
Ohh I did not knew that the bootloader can also change the base address.
I think it uses UEFI.
How to check if bootloader is doing this ?
BTW, both 4.9 board and 4.14 board, uses same bootloader.
>> I wonder if this is an Android Common kernel?
It uses the below kernel for 4.14:
==> The case where symbol addresses are changing.
kptr_restrict is set to 2 by default:
/ # cat /proc/sys/kernel/kptr_restrict
Basically, the goal is:
* To understand how addresses are changing in 4.14 Kernel (without
* Is it possible to support the same in 4.9 Kernel ?
More information about the Kernelnewbies