From patchwork Tue May 29 22:15:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Garnier X-Patchwork-Id: 10437339 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 777EE601C7 for ; Tue, 29 May 2018 22:22:51 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5D65828900 for ; Tue, 29 May 2018 22:22:51 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 51EB02892D; Tue, 29 May 2018 22:22:51 +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=-15.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, USER_IN_DEF_DKIM_WL autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 058D128900 for ; Tue, 29 May 2018 22:22:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967570AbeE2WWg (ORCPT ); Tue, 29 May 2018 18:22:36 -0400 Received: from mail-pl0-f68.google.com ([209.85.160.68]:39352 "EHLO mail-pl0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S967920AbeE2WRG (ORCPT ); Tue, 29 May 2018 18:17:06 -0400 Received: by mail-pl0-f68.google.com with SMTP id f1-v6so9325962plt.6 for ; Tue, 29 May 2018 15:17:06 -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=OBeVp79o+8y2wh4gv6B5X77P6I7cTGn5nwaab3VjPzk=; b=EoUVvQDoWpQRHN8aqlOk/8P7NeNvn4RJ7LRc+BFrOf0qtFDy4ub+Tpcl5CxmL5dsdG jj9SMJEHFmyhRGnL/VAGde2g3YGdP4b7RySFveDM8oJ69x9HovkkvHyD0wIDeefZdXYE dh8D8KUuV7jiYeW8r1+y4b2RfEztjLtMGJAujPIfixbr8v0NMzsLDv1NJhrSjiJa4j56 fVcik7nK6wkmtllYpL28meQ3b9g3XSG6WitrWZJnN0KcI+HkOo98bUKclPZeN70bBv0b Hz91fcvKx+4OvC992npEyWjGok90fGNoYmt/x4pa2I8bMjUX2ZOf4rOGwNiOd0H8U3Tm 5wSw== 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=OBeVp79o+8y2wh4gv6B5X77P6I7cTGn5nwaab3VjPzk=; b=iNiepBjBXFvuMnUvoURvkLIM4vwlbwNtgPBqsG2OlKdA9l8JPWSGHmIMo0CvIym54p e7WlrDTOWuN8/bz1k87Ri+gdj4OczYYQrpsNN3Mq52UWXYMfIcZaTxfN7o3dv6aXqgB0 IGaaHG9s/DUylpssv/xt1u1CDemiKReCFtqwlV1yerb+jpG2mw1VByq8Pai9yyO+fKL6 rfk21c5RX/YwMNlayHh19Viagg3CX5pl+q2rgXaKPE8SLrqz76SrcBn+oxuq45wqakIC 6fNPYmpbkQEv99ds9vnXPPMdnUeZhX0DBYuWfHirFaO910zx+Zv8vx65eWh7elj2Z/GT 6M1Q== X-Gm-Message-State: ALKqPwcXP8WkV4MjhWAlj7PuB4DMfJUkyHOch2r0yiYCE8cpKiW2Yvp7 nDK/V/sKjdeFrEGHs7mqYbzjQQ== X-Google-Smtp-Source: ADUXVKKUWtq3obkp7WRyxRCzGzWps4pogP9ggVhdYnt98WXH5nEf8V6suviRm68aEmWQR75/SssTiQ== X-Received: by 2002:a17:902:543:: with SMTP id 61-v6mr222223plf.47.1527632225389; Tue, 29 May 2018 15:17:05 -0700 (PDT) Received: from skynet.sea.corp.google.com ([2620:15c:17:4:29de:3bb1:1270:e679]) by smtp.gmail.com with ESMTPSA id o84-v6sm78767935pfi.27.2018.05.29.15.17.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 29 May 2018 15:17:04 -0700 (PDT) From: Thomas Garnier To: kernel-hardening@lists.openwall.com Cc: Thomas Garnier , "Rafael J. Wysocki" , Pavel Machek , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 11/27] x86/power/64: Adapt assembly for PIE support Date: Tue, 29 May 2018 15:15:12 -0700 Message-Id: <20180529221625.33541-12-thgarnie@google.com> X-Mailer: git-send-email 2.17.0.921.gf22659ad46-goog In-Reply-To: <20180529221625.33541-1-thgarnie@google.com> References: <20180529221625.33541-1-thgarnie@google.com> Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org 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 extend the KASLR randomization range 0xffffffff80000000. Signed-off-by: Thomas Garnier Acked-by: Pavel Machek Acked-by: Rafael J. Wysocki --- arch/x86/power/hibernate_asm_64.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/power/hibernate_asm_64.S b/arch/x86/power/hibernate_asm_64.S index ce8da3a0412c..6fdd7bbc3c33 100644 --- a/arch/x86/power/hibernate_asm_64.S +++ b/arch/x86/power/hibernate_asm_64.S @@ -24,7 +24,7 @@ #include ENTRY(swsusp_arch_suspend) - movq $saved_context, %rax + leaq saved_context(%rip), %rax movq %rsp, pt_regs_sp(%rax) movq %rbp, pt_regs_bp(%rax) movq %rsi, pt_regs_si(%rax) @@ -115,7 +115,7 @@ ENTRY(restore_registers) movq %rax, %cr4; # turn PGE back on /* We don't restore %rax, it must be 0 anyway */ - movq $saved_context, %rax + leaq saved_context(%rip), %rax movq pt_regs_sp(%rax), %rsp movq pt_regs_bp(%rax), %rbp movq pt_regs_si(%rax), %rsi