Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp227804ybt; Tue, 7 Jul 2020 21:23:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzfWOGs4SPRS5WZzfYsKxv3t1qDWliXEPwjMCFyRVfrve2vlNSo6H07ryfEN/uOHJIsPM6o X-Received: by 2002:a17:906:e91:: with SMTP id p17mr43835512ejf.252.1594182192825; Tue, 07 Jul 2020 21:23:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594182192; cv=none; d=google.com; s=arc-20160816; b=wf0Ly0qrH9Y8SZFnFHeojmWp2OLqTg729hIwRi9UdBobGNnnfk6MGhzkBw6ywWtMPz GwwRcXrV/ODqrGWd3zRSLFNw9jIcTZdv4Ja4pLCTrSTjNoIfWJnNS3vb8UDDPdV/Oeh4 jaxEZftK5FR3wqhs28A23xIOidd/jFrBhVV+0kIeHolR1Wtl0pNibchKa1FN+3h6/E2T bKVfHYltkGoiqc8cblEO0zV7Uo6W3kBAmMHXlzCYRbCpzG5Jva+FoqqSoYn5JaAgN46d LK+HeDaxpq88qBn6TwAm7guQCPeBH55qKFp8ESozylaCQISYw3aXZc6+OZSrLPS50fWt RI0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject; bh=C7Lzx1NZ3bxXOj2czlciEWhwOGMM9yOD8a+KpVZLUD8=; b=K7H7gLW4k+wZNd3Ny6ySfIMtYNE9sUpRG3neNFUafte6It6coZr3ZFq1yoAy7iJsN3 X/qhTzWDkyT+PZIkdd8MAOZ3+7KxsYIwdekWQ+dLqe6/Mb0G0H0bqiwQI3CKjYzK9Q1X 5IfVMuCCtAMcm+jl3B9oSUApusPGcsEQktzKYu3Bmm7ykRhs7kp7wTEiPAmzo9jx/QBS 5z8yM1tsDGO2rnfHz7C0Z9J/uEOjaJ4+msyTf/x1LloCX03Vxng+QI3t+twvbVf/FBpZ jWGl+O0W6KWhj7edN5AuhoQvpewKFi3p+eF86FQ2qLiQe3BbN9NutYbv5zNdOwgsSQ2R Lbsw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c11si17524680edv.140.2020.07.07.21.22.50; Tue, 07 Jul 2020 21:23:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726151AbgGHEVx (ORCPT + 99 others); Wed, 8 Jul 2020 00:21:53 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:49779 "EHLO relay3-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725446AbgGHEVw (ORCPT ); Wed, 8 Jul 2020 00:21:52 -0400 X-Originating-IP: 90.112.45.105 Received: from [192.168.1.11] (lfbn-gre-1-325-105.w90-112.abo.wanadoo.fr [90.112.45.105]) (Authenticated sender: alex@ghiti.fr) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id C642C60003; Wed, 8 Jul 2020 04:21:42 +0000 (UTC) Subject: Re: [PATCH v5 0/4] vmalloc kernel mapping and relocatable kernel To: Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Paul Walmsley , Palmer Dabbelt , Albert Ou , Anup Patel , Atish Patra , Zong Li , linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org References: <20200607075949.665-1-alex@ghiti.fr> From: Alex Ghiti Message-ID: <8f47d523-5c01-1614-dbb0-d938f07be65f@ghiti.fr> Date: Wed, 8 Jul 2020 00:21:42 -0400 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: <20200607075949.665-1-alex@ghiti.fr> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Language: fr Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Palmer, Le 6/7/20 ? 3:59 AM, Alexandre Ghiti a ?crit?: > This patchset originally implemented relocatable kernel support but now > also moves the kernel mapping into the vmalloc zone. > > The first patch explains why we need to move the kernel into vmalloc > zone (instead of memcpying it around). That patch should ease KASLR > implementation a lot. > > The second patch allows to build relocatable kernels but is not selected > by default. > > The third and fourth patches take advantage of an already existing powerpc > script that checks relocations at compile-time, and uses it for riscv. > > Changes in v5: > * Add "static __init" to create_kernel_page_table function as reported by > Kbuild test robot > * Add reviewed-by from Zong > * Rebase onto v5.7 > > Changes in v4: > * Fix BPF region that overlapped with kernel's as suggested by Zong > * Fix end of module region that could be larger than 2GB as suggested by Zong > * Fix the size of the vm area reserved for the kernel as we could lose > PMD_SIZE if the size was already aligned on PMD_SIZE > * Split compile time relocations check patch into 2 patches as suggested by Anup > * Applied Reviewed-by from Zong and Anup > > Changes in v3: > * Move kernel mapping to vmalloc > > Changes in v2: > * Make RELOCATABLE depend on MMU as suggested by Anup > * Rename kernel_load_addr into kernel_virt_addr as suggested by Anup > * Use __pa_symbol instead of __pa, as suggested by Zong > * Rebased on top of v5.6-rc3 > * Tested with sv48 patchset > * Add Reviewed/Tested-by from Zong and Anup > > Alexandre Ghiti (4): > riscv: Move kernel mapping to vmalloc zone > riscv: Introduce CONFIG_RELOCATABLE > powerpc: Move script to check relocations at compile time in scripts/ > riscv: Check relocations at compile time > > arch/powerpc/tools/relocs_check.sh | 18 +---- > arch/riscv/Kconfig | 12 +++ > arch/riscv/Makefile | 5 +- > arch/riscv/Makefile.postlink | 36 +++++++++ > arch/riscv/boot/loader.lds.S | 3 +- > arch/riscv/include/asm/page.h | 10 ++- > arch/riscv/include/asm/pgtable.h | 38 ++++++--- > arch/riscv/kernel/head.S | 3 +- > arch/riscv/kernel/module.c | 4 +- > arch/riscv/kernel/vmlinux.lds.S | 9 ++- > arch/riscv/mm/Makefile | 4 + > arch/riscv/mm/init.c | 121 +++++++++++++++++++++++++---- > arch/riscv/mm/physaddr.c | 2 +- > arch/riscv/tools/relocs_check.sh | 26 +++++++ > scripts/relocs_check.sh | 20 +++++ > 15 files changed, 259 insertions(+), 52 deletions(-) > create mode 100644 arch/riscv/Makefile.postlink > create mode 100755 arch/riscv/tools/relocs_check.sh > create mode 100755 scripts/relocs_check.sh > Do you have any remark regarding this series ? Thanks, Alex