Messages in this thread | | | Subject | Re: [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region | From | Anshuman Khandual <> | Date | Fri, 13 Nov 2020 12:32:47 +0530 |
| |
On 11/13/20 11:44 AM, Ard Biesheuvel wrote: > On Fri, 13 Nov 2020 at 04:16, Anshuman Khandual > <anshuman.khandual@arm.com> wrote: >> >> >> >> On 11/12/20 2:55 PM, Catalin Marinas wrote: >>> Hi Anshuman, >>> >>> On Wed, Nov 11, 2020 at 09:18:56AM +0530, Anshuman Khandual wrote: >>>> On 11/11/20 12:44 AM, Catalin Marinas wrote: >>>>> On Wed, 14 Oct 2020 10:18:57 +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. >>>>>> >>>>>> [...] >>>>> >>>>> Applied to arm64 (for-next/mem-hotplug), thanks! >>>>> >>>>> [1/1] arm64: mm: account for hotplug memory when randomizing the linear region >>>>> https://git.kernel.org/arm64/c/97d6786e0669 >>>> >>>> Got delayed and never made here in time, sorry about that. Nonetheless, >>>> I have got something working with respect to the generic mechanism that >>>> David Hildenbrand had asked for earlier. >>>> >>>> https://patchwork.kernel.org/project/linux-arm-kernel/patch/1600332402-30123-1-git-send-email-anshuman.khandual@arm.com/ >>> >>> There was a lot of discussion around this patch but I haven't seen any >>> new version posted. >> >> Just posted before some time. >> >> https://lore.kernel.org/linux-arm-kernel/1605236574-14636-1-git-send-email-anshuman.khandual@arm.com/ >> > > You failed to cc me on that patch.
I could see 'ardb@kernel.org' marked as a copy on the patch. You did not receive the email ? The CC list is in the commit message itself. Even the lore.kernel.org based URL does list you email as well. Not sure what might have happened.
Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Ard Biesheuvel <ardb@kernel.org> Cc: Steven Price <steven.price@arm.com> Cc: Robin Murphy <robin.murphy@arm.com> Cc: David Hildenbrand <david@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org
> > The logic looks correct but please fix up the comment block: > - PAGE_END is no longer defined in terms of vabits_actual > - bits [51..48] are not ignored by the MMU > > Actually, I think the entire second paragraph of that comment block > can be dropped.
And from the commit message as well, had reused it in both places.
> > Please also fix up the coding style: > - put && at the end of the first line > - drop the redundant parens > - fix the indentation
Does this look okay ?
static bool inside_linear_region(u64 start, u64 size) { /* * Linear mapping region is the range [PAGE_OFFSET..(PAGE_END - 1)] * accommodating both its ends but excluding PAGE_END. Max physical * range which can be mapped inside this linear mapping range, must * also be derived from its end points. */ return start >= __pa(_PAGE_OFFSET(vabits_actual)) && (start + size - 1) <= __pa(PAGE_END - 1); }
| |