From patchwork Wed Oct 4 21:19:41 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Garnier X-Patchwork-Id: 9985547 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 036C460586 for ; Wed, 4 Oct 2017 21:23:23 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E87BF28C2C for ; Wed, 4 Oct 2017 21:23:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DC8E328C30; Wed, 4 Oct 2017 21:23:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.6 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, RCVD_IN_DNSWL_MED, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 8519328C2C for ; Wed, 4 Oct 2017 21:23:22 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dzr6B-0002X5-GN; Wed, 04 Oct 2017 21:20:59 +0000 Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dzr6A-0002W6-2s for xen-devel@lists.xenproject.org; Wed, 04 Oct 2017 21:20:58 +0000 Received: from [85.158.139.211] by server-11.bemta-5.messagelabs.com id 27/E5-01778-9B055D95; Wed, 04 Oct 2017 21:20:57 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrJIsWRWlGSWpSXmKPExsXiVRusr7sj4Gq kwY1VAhbft0xmcmD0OPzhCksAYxRrZl5SfkUCa8alEw+YCrawV6ycF9LAuJ2ti5GLQ0hgOqPE m0fdrCAOi8ArFok9vQ+Yuxg5OSQE+lkljjRnQNhZEn8u/GaHsNMkfp1+xgRhV0ms3n2MBcQWE lCS2LphKTPE1L+MEv3fP4Al2AS0JPY0zGcCSYgIzBKRuPW6B2w3s8AZJonjfSdZQaqEBXwlbl 7tZAOxWQRUJZ7NOAO2jlfAQuJz11yok0wkHh65BlbPKWApceTEG2aI1RYSrWfuM01gFFzAyLC KUaM4tagstUjX0FAvqSgzPaMkNzEzR9fQwFQvN7W4ODE9NScxqVgvOT93EyMw6BiAYAfjynbn Q4ySHExKorybfK9GCvEl5adUZiQWZ8QXleakFh9ilOHgUJLgjfAHygkWpaanVqRl5gDDHyYtw cGjJMIbBpLmLS5IzC3OTIdInWK05Ljx8PofJo59e24ByY6bd/8wCbHk5eelSonzbgZpEABpyC jNgxsHi9FLjLJSwryMQAcK8RSkFuVmlqDKv2IU52BUEubNA5nCk5lXArf1FdBBTEAHzWm6AnJ QSSJCSqqBUerRGcONLIGxVxOPKvF43b5ef0QkofrnY9uSqZ5aZowOFp9394RsOsbu8Y59k4rL 7JO6D51Oh21lVAmJvbU1vHDV6nMzFn+Mi59VFPPPRXRBPgNjXHre4UXOEZzPpzi+FMpSvyXE2 P65Xtqrgnup9UGbHd+OHzzH8TVgP1uFibHwNpvpeobxSizFGYmGWsxFxYkArsuDjswCAAA= X-Env-Sender: thgarnie@google.com X-Msg-Ref: server-2.tower-206.messagelabs.com!1507152054!94009419!1 X-Originating-IP: [74.125.83.47] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 9.4.45; banners=-,-,- X-VirusChecked: Checked Received: (qmail 59675 invoked from network); 4 Oct 2017 21:20:56 -0000 Received: from mail-pg0-f47.google.com (HELO mail-pg0-f47.google.com) (74.125.83.47) by server-2.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP; 4 Oct 2017 21:20:56 -0000 Received: by mail-pg0-f47.google.com with SMTP id v13so7173472pgq.6 for ; Wed, 04 Oct 2017 14:20:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=gf1F74HWnMPo0JFrTQOThqxyCM9hwFtsVlhgQ37bznE=; b=gUjc0dHQHoOPv+wiL+5xTmAAi9k2mcjfcfPi04l+ikTUxvX8ikmPfmby5ODZJyu8MF luVSAtW2o9JGqPxt1yx0i9M7wu2hpNGWA/OM8A2tZLiz6WfdWssDz0CkZCbmlgAUWhJi GTofjxZKKHBHkM/+pddBwKSwgPZEhMznSPmNLfiioQmUlmNLG1Zi49q9BogvvWx1VaPP hSLkGqPkeN0YEunIIq+rPcxRzJnMK+G6ZaaDx3hTld0rmfiZH0ScywZC/+rJFWYLkTIx Bi2dDb71KJHrUoTksAJm9MsEQBgyE1qzpZ7MWuQTVrCdx1F/QhNo78HFxe0Cx4uECU8a 4G2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=gf1F74HWnMPo0JFrTQOThqxyCM9hwFtsVlhgQ37bznE=; b=EyCj5mZ0mqW64PLkB1go235vzJckIzJYyEa6ayuKROE5ZLmGb0xE2juNo+TeY1c7ai xwsztqNCvO1e3TI2U3Qhv6ZLym+QsaxMv0K/rVFimsxFdlOYKXIM62daMvyLq5gxzeMf b8hxZxPrdwCsolcCMq9X2NQ7RIdzJ4NV6qf5vpunSmQ2CX9+9Ybk8m5qyF7oWii1szcw YDx8kTSXhqC1/EnmXIIS5MFNOx3DhoZ0C8dR1zIRxaMPvnRZCsny4hNE3k8xTlZo5Kz8 W8WXy3pA4IddUa90d/MkNSA0Gdsz5XCRYlDu2iHL5gMU2lsqXMaAKNs5Saa11spB0sFQ xpkQ== X-Gm-Message-State: AHPjjUjdkcV2aHkmTit+I7lEFABk0ktDm4PpjEhlWn9RjwxH2ek85+Xw CXI3g3X9ceu3ckUW0yEOwCe6DA== X-Google-Smtp-Source: AOwi7QBXEEkOiw40moQsxjXiC69XWNDaj1/ZLj3oArE0CoxZRLt0qW20cC5DHUCC1hZNcxJf880mmw== X-Received: by 10.99.157.74 with SMTP id i71mr19956713pgd.238.1507152054070; Wed, 04 Oct 2017 14:20:54 -0700 (PDT) Received: from skynet.sea.corp.google.com ([172.31.92.33]) by smtp.gmail.com with ESMTPSA id s68sm30204019pfd.72.2017.10.04.14.20.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 04 Oct 2017 14:20:53 -0700 (PDT) From: Thomas Garnier To: Herbert Xu , "David S . Miller" , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Peter Zijlstra , Josh Poimboeuf , Thomas Garnier , Arnd Bergmann , Kees Cook , Matthias Kaehlcke , Tom Lendacky , Andy Lutomirski , "Kirill A . Shutemov" , Borislav Petkov , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Juergen Gross , Chris Wright , Alok Kataria , Rusty Russell , Tejun Heo , Christoph Lameter , Boris Ostrovsky , Alexey Dobriyan , Andrew Morton , Paul Gortmaker , Chris Metcalf , "Paul E . McKenney" , Nicolas Pitre , Borislav Petkov , "Luis R . Rodriguez" , Greg Kroah-Hartman , Christopher Li , Steven Rostedt , Jason Baron , Dou Liyang , "Rafael J . Wysocki" , Mika Westerberg , Lukas Wunner , Masahiro Yamada , Alexei Starovoitov , Daniel Borkmann , Markus Trippelsdorf , Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Joerg Roedel , Rik van Riel , David Howells , Ard Biesheuvel , Waiman Long , Kyle Huey , Andrey Ryabinin , Jonathan Corbet , Matthew Wilcox , Michal Hocko , Peter Foley , Paul Bolle , Jiri Kosina , Rob Landley , "H . J . Lu" , Baoquan He , =?UTF-8?q?Jan=20H=20=2E=20Sch=C3=B6nherr?= , Daniel Micay Date: Wed, 4 Oct 2017 14:19:41 -0700 Message-Id: <20171004212003.28296-6-thgarnie@google.com> X-Mailer: git-send-email 2.14.2.920.gcf0c67979c-goog In-Reply-To: <20171004212003.28296-1-thgarnie@google.com> References: <20171004212003.28296-1-thgarnie@google.com> Cc: linux-arch@vger.kernel.org, kvm@vger.kernel.org, linux-pm@vger.kernel.org, x86@kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-sparse@vger.kernel.org, linux-crypto@vger.kernel.org, kernel-hardening@lists.openwall.com, xen-devel@lists.xenproject.org Subject: [Xen-devel] [RFC v3 05/27] x86: relocate_kernel - Adapt assembly for PIE support X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP Change the assembly code to use only relative references of symbols for the kernel to be PIE compatible. Position Independent Executable (PIE) support will allow to extended the KASLR randomization range below the -2G memory limit. Signed-off-by: Thomas Garnier --- arch/x86/kernel/relocate_kernel_64.S | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/relocate_kernel_64.S b/arch/x86/kernel/relocate_kernel_64.S index 307d3bac5f04..2ecbdcbe985b 100644 --- a/arch/x86/kernel/relocate_kernel_64.S +++ b/arch/x86/kernel/relocate_kernel_64.S @@ -200,9 +200,11 @@ identity_mapped: movq %rax, %cr3 lea PAGE_SIZE(%r8), %rsp call swap_pages - movq $virtual_mapped, %rax - pushq %rax - ret + jmp *virtual_mapped_addr(%rip) + + /* Absolute value for PIE support */ +virtual_mapped_addr: + .quad virtual_mapped virtual_mapped: movq RSP(%r8), %rsp