Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1061881ybl; Wed, 4 Dec 2019 16:10:59 -0800 (PST) X-Google-Smtp-Source: APXvYqyhL4DHEe61qbmzIa0VVxS/IsZh2ZXtmbeDCEQwEQcH5EtoHrnz1yjfZ57bTUtfjudFty1R X-Received: by 2002:a54:4011:: with SMTP id x17mr4889168oie.52.1575504658891; Wed, 04 Dec 2019 16:10:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575504658; cv=none; d=google.com; s=arc-20160816; b=EXTLptNxFgVH2cLMQut/iPCQK8odYuU/tid2nsgMpak6Hgmyx5trm85v3eYssbGbmH Xl05FZtEr85T7Lyp8sLzLEGbIsRjPuwwi/8pfO+IaeX5uvxwfdaC1q9mbt16kEsc5ISs cIUGFdrzQqwHKwMGIv6Z3Kj3XbrRHHPHXrNWFylBlaZvINLzG4Q8wSJawfJw7NhubPjf 69dSfypXfAjuTOudsXLRKlqvBZDgwOAhdrj1bApVGt6N86ubNKy9Ygvdxp7lNC3h520J 3SKGXbDID1EdxTa//DlmDXSI/cNDBiQKTJjWQr7oLbLyXYM+D8POoiMG8geceHmxyi5Z SvvA== 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:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=AI0Sbf2qfvdip7zDaIMGaj7cN/UAI4vRqAvCejejut0=; b=bA3hw4crlyf6PWO3r1kXeIbQOPva3mhd24PqzXBaOkSx8Yb4+V1B5tpIWZpd7f8yy8 VYWqFc/B5EXB7ZPlIcsrnhUTC7G+aEj7aMkpRVCJ+rq0EXlTXKPu/LUYVRzEzOjw1qrs QDLId1tnBYQVXjybihBe/K0HfftwWEBpLDrlsVECD5Pn7CYyod6zZRHzoXMtIv1HbyxW yzprblhUv8jEpmCoyt4SYzBIEULBPMIv8kRdAkR7deMf7uD9vQDQsXtrP51yEM+GfaYq aJcnNb3qifljVezIj70XXVxVQmGw86X7ZF5iFlgarKyiVr0fjTLphTHsNdsR34ew58jd R4tA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=FDTctH2C; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m4si4066946otn.281.2019.12.04.16.10.47; Wed, 04 Dec 2019 16:10:58 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=FDTctH2C; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728571AbfLEAKP (ORCPT + 99 others); Wed, 4 Dec 2019 19:10:15 -0500 Received: from mail-pl1-f196.google.com ([209.85.214.196]:33098 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728522AbfLEAKP (ORCPT ); Wed, 4 Dec 2019 19:10:15 -0500 Received: by mail-pl1-f196.google.com with SMTP id ay6so439089plb.0 for ; Wed, 04 Dec 2019 16:10:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AI0Sbf2qfvdip7zDaIMGaj7cN/UAI4vRqAvCejejut0=; b=FDTctH2CeJShcdMHsHl2Oi7MHODy229XFf1dMS36U2X/QdXpsbAtsCUC75G8Tt4iZ/ wFsIWH/tIi6YoU802WLaDkHZFr84ABsj1X/04mTK+cDldigsFFAdsf9RjxmBi1w9DMRf Y3eRIoUILPqZg0xNze2z+SLJZaY99XtfVjbec= 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:mime-version:content-transfer-encoding; bh=AI0Sbf2qfvdip7zDaIMGaj7cN/UAI4vRqAvCejejut0=; b=kA99kUbVsLte0oG6qQ7kNtfUeispZEUaNTLSl37WD31ivW/TeGZ2CS7qROgXjoDPuM lO6jeWSReHyk367AIR3Uhah4fCfCPApwALq00oX4jEpKE3PU/KbckDGezgLicHaL1m26 HjI/QceMSF+mna7Pw6I53TFymJLkBH2mNVg1U8nT9pFUGr/OEBrL7vwjcz8gB3rCmWP8 GE6kfCUpHaaGsj0CWzLJPlIsSjFh6zZqNyMZoObRxUgNQ/iETr36jzNVZdff41HuCjW8 foI+cqYRwxDfr+iAILQ7LD58tW/7bd/DKehYbrk9ZoWsjtvfFVwn9rEuzrA4Rs0OPhx7 ED1Q== X-Gm-Message-State: APjAAAXfoEcB4kvlAobAy1ZeyOOKpIl2lYitScuHm3CexA7OCUwUPQES /NzZ0vYrpNeDbBRdvcitUf8M5w== X-Received: by 2002:a17:90a:a612:: with SMTP id c18mr6163516pjq.49.1575504614402; Wed, 04 Dec 2019 16:10:14 -0800 (PST) Received: from thgarnie.kir.corp.google.com ([2620:0:1008:1100:d6ba:ac27:4f7b:28d7]) by smtp.gmail.com with ESMTPSA id 73sm8422303pgc.13.2019.12.04.16.10.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2019 16:10:14 -0800 (PST) From: Thomas Garnier To: kernel-hardening@lists.openwall.com Cc: kristen@linux.intel.com, keescook@chromium.org, Thomas Garnier , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , x86@kernel.org, Greg Kroah-Hartman , Allison Randal , Alexios Zavras , Jiri Slaby , linux-kernel@vger.kernel.org Subject: [PATCH v10 03/11] x86: relocate_kernel - Adapt assembly for PIE support Date: Wed, 4 Dec 2019 16:09:40 -0800 Message-Id: <20191205000957.112719-4-thgarnie@chromium.org> X-Mailer: git-send-email 2.24.0.393.g34dc348eaf-goog In-Reply-To: <20191205000957.112719-1-thgarnie@chromium.org> References: <20191205000957.112719-1-thgarnie@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Change the assembly code to use only absolute references of symbols for the kernel to be PIE compatible. Position Independent Executable (PIE) support will allow to extend the KASLR randomization range below 0xffffffff80000000. Signed-off-by: Thomas Garnier Reviewed-by: Kees Cook --- arch/x86/kernel/relocate_kernel_64.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/relocate_kernel_64.S b/arch/x86/kernel/relocate_kernel_64.S index ef3ba99068d3..c294339df5ef 100644 --- a/arch/x86/kernel/relocate_kernel_64.S +++ b/arch/x86/kernel/relocate_kernel_64.S @@ -206,7 +206,7 @@ SYM_CODE_START_LOCAL_NOALIGN(identity_mapped) movq %rax, %cr3 lea PAGE_SIZE(%r8), %rsp call swap_pages - movq $virtual_mapped, %rax + movabsq $virtual_mapped, %rax pushq %rax ret SYM_CODE_END(identity_mapped) -- 2.24.0.393.g34dc348eaf-goog