[PATCH] arm64: mm: account for hotplug memory when randomizing the linear region

Anshuman Khandual anshuman.khandual at arm.com
Fri Oct 16 06:26:41 EDT 2020



On 10/15/2020 04:16 PM, Will Deacon wrote:
> On Wed, Oct 14, 2020 at 10:18:57AM +0200, Ard Biesheuvel wrote:
>> As a hardening measure, we currently randomize the placement of
>> physical memory inside the linear region when KASLR is in effect.
>> Since the random offset at which to place the available physical
>> memory inside the linear region is chosen early at boot, it is
>> based on the memblock description of memory, which does not cover
>> hotplug memory. The consequence of this is that the randomization
>> offset may be chosen such that any hotplugged memory located above
>> memblock_end_of_DRAM() that appears later is pushed off the end of
>> the linear region, where it cannot be accessed.
>>
>> So let's limit this randomization of the linear region to ensure
>> that this can no longer happen, by using the CPU's addressable PA
>> range instead. As it is guaranteed that no hotpluggable memory will
>> appear that falls outside of that range, we can safely put this PA
>> range sized window anywhere in the linear region.
>>
>> Cc: Anshuman Khandual <anshuman.khandual at arm.com>
>> Cc: Catalin Marinas <catalin.marinas at arm.com>
>> Cc: Will Deacon <will at kernel.org>
>> Cc: Steven Price <steven.price at arm.com>
>> Cc: Robin Murphy <robin.murphy at arm.com>
>> Signed-off-by: Ard Biesheuvel <ardb at kernel.org>
>> ---
>> Related to discussion here:
>> https://lore.kernel.org/linux-arm-kernel/1600332402-30123-1-git-send-email-anshuman.khandual@arm.com/
> 
> Anshuman, can you fold this one into your series, please?

Sure, will do.



More information about the linux-arm-kernel mailing list