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.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,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 BB0A6C388F9 for ; Wed, 11 Nov 2020 03:49:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5F3E0207BB for ; Wed, 11 Nov 2020 03:49:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725947AbgKKDtq (ORCPT ); Tue, 10 Nov 2020 22:49:46 -0500 Received: from foss.arm.com ([217.140.110.172]:39834 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725849AbgKKDtp (ORCPT ); Tue, 10 Nov 2020 22:49:45 -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 B60C5101E; Tue, 10 Nov 2020 19:49:44 -0800 (PST) Received: from [192.168.0.130] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id F1AAE3F7BB; Tue, 10 Nov 2020 19:49:40 -0800 (PST) Subject: Re: [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region To: Catalin Marinas , linux-arm-kernel@lists.infradead.org, Ard Biesheuvel Cc: Will Deacon , linux-kernel@vger.kernel.org, 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> From: Anshuman Khandual Message-ID: Date: Wed, 11 Nov 2020 09:18:56 +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: <160503561804.1015659.16599672230432576934.b4-ty@arm.com> 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/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 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.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,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=unavailable 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 754CDC388F9 for ; Wed, 11 Nov 2020 03:51:01 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DEFAE207BB for ; Wed, 11 Nov 2020 03:51:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="qs/m8/jz" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DEFAE207BB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=n0p8r2RxPM9RZ764nrEr43lUdg0gy0xULDMpWWCc+1s=; b=qs/m8/jzvc4S4O4hMqVHgNQlk oroAzI1oJ2TTbgbxf8GbEtXWcFSdKLTj7jFnSf10G51+Ma5yCgJTZl5aZfibt6xZ+QoOai+1Jza43 WA6aTR26vVA/g0EPOUZzcOvwusBd3oh/W22SifMv815VRMi8s9nQNOMoxZJT7sWp1ri3mZE1eAHIu OZ0/cxkVmXXDqXDWWtZttdlN9xn9mnOT1EFqxuycijyeIoYTGIIA1Opr9UrZxondadUrIVsKaN5Ss 9HphZUGig1ZH7CYs01lKMxfdLERNlJK9ht3e779TgfzLJL2io+ZSgTAmASKWWGHjqE9gg1QEdP4xB r8wXvOOcQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kch8n-000089-NP; Wed, 11 Nov 2020 03:49:49 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kch8l-00007a-Po for linux-arm-kernel@lists.infradead.org; Wed, 11 Nov 2020 03:49:48 +0000 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 B60C5101E; Tue, 10 Nov 2020 19:49:44 -0800 (PST) Received: from [192.168.0.130] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id F1AAE3F7BB; Tue, 10 Nov 2020 19:49:40 -0800 (PST) Subject: Re: [PATCH] arm64: mm: account for hotplug memory when randomizing the linear region To: Catalin Marinas , linux-arm-kernel@lists.infradead.org, Ard Biesheuvel References: <20201014081857.3288-1-ardb@kernel.org> <160503561804.1015659.16599672230432576934.b4-ty@arm.com> From: Anshuman Khandual Message-ID: Date: Wed, 11 Nov 2020 09:18:56 +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: <160503561804.1015659.16599672230432576934.b4-ty@arm.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201110_224947_902337_01017AB6 X-CRM114-Status: GOOD ( 16.12 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , gshan@redhat.com, Steve Capper , Marc Zyngier , David Hildenbrand , linux-kernel@vger.kernel.org, Steven Price , Mark Brown , Will Deacon , Robin Murphy Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel