From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 22721C388F7 for ; Fri, 13 Nov 2020 07:03:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D7A4F221EB for ; Fri, 13 Nov 2020 07:03:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726342AbgKMHC7 (ORCPT ); Fri, 13 Nov 2020 02:02:59 -0500 Received: from foss.arm.com ([217.140.110.172]:33280 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726134AbgKMHC7 (ORCPT ); Fri, 13 Nov 2020 02:02:59 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3AE15142F; Thu, 12 Nov 2020 23:02:58 -0800 (PST) Received: from [10.163.80.57] (unknown [10.163.80.57]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 511303F718; Thu, 12 Nov 2020 23:02:50 -0800 (PST) Subject: Re: [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region To: Ard Biesheuvel Cc: Catalin Marinas , Linux ARM , Will Deacon , Linux Kernel Mailing List , Mark Rutland , Steve Capper , Mark Brown , Marc Zyngier , gshan@redhat.com, Robin Murphy , Steven Price , David Hildenbrand References: <20201014081857.3288-1-ardb@kernel.org> <160503561804.1015659.16599672230432576934.b4-ty@arm.com> <20201112092558.GC29613@gaia> <2f0d9bc5-6288-7388-ff10-97198dabac6f@arm.com> From: Anshuman Khandual Message-ID: Date: Fri, 13 Nov 2020 12:32:47 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/13/20 11:44 AM, Ard Biesheuvel wrote: > On Fri, 13 Nov 2020 at 04:16, Anshuman Khandual > 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 Cc: Will Deacon Cc: Mark Rutland Cc: Ard Biesheuvel Cc: Steven Price Cc: Robin Murphy Cc: David Hildenbrand Cc: Andrew Morton 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); }