linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region
       [not found] <20201014081857.3288-1-ardb@kernel.org>
@ 2020-11-10 19:14 ` Catalin Marinas
  2020-11-11  3:48   ` Anshuman Khandual
  0 siblings, 1 reply; 9+ messages in thread
From: Catalin Marinas @ 2020-11-10 19:14 UTC (permalink / raw)
  To: linux-arm-kernel, Anshuman Khandual, Ard Biesheuvel
  Cc: Will Deacon, linux-kernel, Mark Rutland, Steve Capper,
	Mark Brown, Marc Zyngier, gshan, Robin Murphy, Steven Price

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

-- 
Catalin


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region
  2020-11-10 19:14 ` [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region Catalin Marinas
@ 2020-11-11  3:48   ` Anshuman Khandual
  2020-11-11  9:11     ` David Hildenbrand
  2020-11-12  9:25     ` Catalin Marinas
  0 siblings, 2 replies; 9+ messages in thread
From: Anshuman Khandual @ 2020-11-11  3:48 UTC (permalink / raw)
  To: Catalin Marinas, linux-arm-kernel, Ard Biesheuvel
  Cc: Will Deacon, linux-kernel, Mark Rutland, Steve Capper,
	Mark Brown, Marc Zyngier, gshan, Robin Murphy, Steven Price,
	David Hildenbrand



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
> 

Hello Catalin,

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/

I am wondering if we could instead consider merging the above patch with
a small change that Ard had pointed out earlier [1], I will send out a
revision if required.

I am asking this because the patch in question is a memory hotplug fix
and should be back ported to other stable releases. Implementing that
via the new proposed generic framework might make it difficult for a
possible arm64 specific backport. We could then add the new generic
framework and move this fix to an arch callback. Let me know if this
would be an feasible option. Thank you.

- Anshuman

[1] From Ard Biesheuvel

"So I think your original approach makes more sense here, although I
think you want '(start + size - 1) <= __pa(PAGE_END - 1)' in the
comparison above (and please drop the redundant parens)"

+ David Hildenbrand <david@redhat.com>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region
  2020-11-11  3:48   ` Anshuman Khandual
@ 2020-11-11  9:11     ` David Hildenbrand
  2020-11-12  9:25     ` Catalin Marinas
  1 sibling, 0 replies; 9+ messages in thread
From: David Hildenbrand @ 2020-11-11  9:11 UTC (permalink / raw)
  To: Anshuman Khandual, Catalin Marinas, linux-arm-kernel, Ard Biesheuvel
  Cc: Will Deacon, linux-kernel, Mark Rutland, Steve Capper,
	Mark Brown, Marc Zyngier, gshan, Robin Murphy, Steven Price

On 11.11.20 04:48, 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
>>
> 
> Hello Catalin,
> 
> 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/
> 
> I am wondering if we could instead consider merging the above patch with
> a small change that Ard had pointed out earlier [1], I will send out a
> revision if required.
> 
> I am asking this because the patch in question is a memory hotplug fix
> and should be back ported to other stable releases. Implementing that
> via the new proposed generic framework might make it difficult for a
> possible arm64 specific backport. We could then add the new generic
> framework and move this fix to an arch callback. Let me know if this
> would be an feasible option. Thank you.

Sure, if it's a fix that is intended to be backported as well, then 
let's move forward with the simple fix and do a proper cleanup on top 
later. Thanks!


-- 
Thanks,

David / dhildenb


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region
  2020-11-11  3:48   ` Anshuman Khandual
  2020-11-11  9:11     ` David Hildenbrand
@ 2020-11-12  9:25     ` Catalin Marinas
  2020-11-13  3:16       ` Anshuman Khandual
  1 sibling, 1 reply; 9+ messages in thread
From: Catalin Marinas @ 2020-11-12  9:25 UTC (permalink / raw)
  To: Anshuman Khandual
  Cc: linux-arm-kernel, Ard Biesheuvel, Will Deacon, linux-kernel,
	Mark Rutland, Steve Capper, Mark Brown, Marc Zyngier, gshan,
	Robin Murphy, Steven Price, David Hildenbrand

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.

> I am wondering if we could instead consider merging the above patch with
> a small change that Ard had pointed out earlier [1], I will send out a
> revision if required.

If your patch fixes the randomisation issue that Ard addressed, I'm
happy to replace that with your patch. But please post a new version and
get some acks in place from the parties involved in the discussion.

Thanks.

-- 
Catalin

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region
  2020-11-12  9:25     ` Catalin Marinas
@ 2020-11-13  3:16       ` Anshuman Khandual
  2020-11-13  6:14         ` Ard Biesheuvel
  0 siblings, 1 reply; 9+ messages in thread
From: Anshuman Khandual @ 2020-11-13  3:16 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: linux-arm-kernel, Ard Biesheuvel, Will Deacon, linux-kernel,
	Mark Rutland, Steve Capper, Mark Brown, Marc Zyngier, gshan,
	Robin Murphy, Steven Price, David Hildenbrand



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/

> 
>> I am wondering if we could instead consider merging the above patch with
>> a small change that Ard had pointed out earlier [1], I will send out a
>> revision if required.
> 
> If your patch fixes the randomisation issue that Ard addressed, I'm
> happy to replace that with your patch. But please post a new version and
> get some acks in place from the parties involved in the discussion.

The above patch is not a replacement for Ard's randomization patch here but
rather complements it. Hence both these patches should be considered, which
will make memory hotplug better on the platform.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region
  2020-11-13  3:16       ` Anshuman Khandual
@ 2020-11-13  6:14         ` Ard Biesheuvel
  2020-11-13  7:02           ` Anshuman Khandual
  0 siblings, 1 reply; 9+ messages in thread
From: Ard Biesheuvel @ 2020-11-13  6:14 UTC (permalink / raw)
  To: Anshuman Khandual
  Cc: Catalin Marinas, Linux ARM, Will Deacon,
	Linux Kernel Mailing List, Mark Rutland, Steve Capper,
	Mark Brown, Marc Zyngier, gshan, Robin Murphy, Steven Price,
	David Hildenbrand

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.

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.

Please also fix up the coding style:
- put && at the end of the first line
- drop the redundant parens
- fix the indentation



> >
> >> I am wondering if we could instead consider merging the above patch with
> >> a small change that Ard had pointed out earlier [1], I will send out a
> >> revision if required.
> >
> > If your patch fixes the randomisation issue that Ard addressed, I'm
> > happy to replace that with your patch. But please post a new version and
> > get some acks in place from the parties involved in the discussion.
>
> The above patch is not a replacement for Ard's randomization patch here but
> rather complements it. Hence both these patches should be considered, which
> will make memory hotplug better on the platform.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region
  2020-11-13  6:14         ` Ard Biesheuvel
@ 2020-11-13  7:02           ` Anshuman Khandual
  2020-11-13  7:06             ` Ard Biesheuvel
  0 siblings, 1 reply; 9+ messages in thread
From: Anshuman Khandual @ 2020-11-13  7:02 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Catalin Marinas, Linux ARM, Will Deacon,
	Linux Kernel Mailing List, Mark Rutland, Steve Capper,
	Mark Brown, Marc Zyngier, gshan, Robin Murphy, Steven Price,
	David Hildenbrand



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);
}

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region
  2020-11-13  7:02           ` Anshuman Khandual
@ 2020-11-13  7:06             ` Ard Biesheuvel
  2020-11-13  7:40               ` Anshuman Khandual
  0 siblings, 1 reply; 9+ messages in thread
From: Ard Biesheuvel @ 2020-11-13  7:06 UTC (permalink / raw)
  To: Anshuman Khandual
  Cc: Catalin Marinas, Linux ARM, Will Deacon,
	Linux Kernel Mailing List, Mark Rutland, Steve Capper,
	Mark Brown, Marc Zyngier, gshan, Robin Murphy, Steven Price,
	David Hildenbrand

On Fri, 13 Nov 2020 at 08:03, Anshuman Khandual
<anshuman.khandual@arm.com> wrote:
>
>
>
> 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
>

Right. Not sure what happened there, I may have deleted it by
accident. Apologies.

> >
> > 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);
> }

Not sure whether the whitespace has been mangled by the email client,
but the first ( on the second line should align vertically with the
's' of 'start' on the first line

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region
  2020-11-13  7:06             ` Ard Biesheuvel
@ 2020-11-13  7:40               ` Anshuman Khandual
  0 siblings, 0 replies; 9+ messages in thread
From: Anshuman Khandual @ 2020-11-13  7:40 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Catalin Marinas, Linux ARM, Will Deacon,
	Linux Kernel Mailing List, Mark Rutland, Steve Capper,
	Mark Brown, Marc Zyngier, gshan, Robin Murphy, Steven Price,
	David Hildenbrand



On 11/13/20 12:36 PM, Ard Biesheuvel wrote:
> On Fri, 13 Nov 2020 at 08:03, Anshuman Khandual
> <anshuman.khandual@arm.com> wrote:
>>
>>
>>
>> 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
>>
> 
> Right. Not sure what happened there, I may have deleted it by
> accident. Apologies.
> 
>>>
>>> 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);
>> }
> 
> Not sure whether the whitespace has been mangled by the email client,
> but the first ( on the second line should align vertically with the
> 's' of 'start' on the first line

It was not aligned vertically here but fixed it. I hope you have received
the latest version this time.

https://lore.kernel.org/linux-arm-kernel/1605252614-761-1-git-send-email-anshuman.khandual@arm.com/

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-11-13  7:40 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20201014081857.3288-1-ardb@kernel.org>
2020-11-10 19:14 ` [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region Catalin Marinas
2020-11-11  3:48   ` Anshuman Khandual
2020-11-11  9:11     ` David Hildenbrand
2020-11-12  9:25     ` Catalin Marinas
2020-11-13  3:16       ` Anshuman Khandual
2020-11-13  6:14         ` Ard Biesheuvel
2020-11-13  7:02           ` Anshuman Khandual
2020-11-13  7:06             ` Ard Biesheuvel
2020-11-13  7:40               ` Anshuman Khandual

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).