Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1062115ybl; Wed, 4 Dec 2019 16:11:18 -0800 (PST) X-Google-Smtp-Source: APXvYqyp7p/o4/ZpGOBRkWD1n1D5KZJIV39ujFt4v6AHdLav51gMlk4Bx59YKNwxx2KF00MQL65P X-Received: by 2002:a54:4805:: with SMTP id j5mr1199013oij.165.1575504677951; Wed, 04 Dec 2019 16:11:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575504677; cv=none; d=google.com; s=arc-20160816; b=pD52oVi5KfT/tayFMqqOZyVUjKjsex5DX9nmh5/5Cg3t2Pw+3tzRQMl4IVVqBWTDVa 4cTCLLPRcGuCPqphsc4fQOjZJ7YMmFmasA6PxDKMMsrE+XCFbdqNUMV0aqKWGd2tQK1P 5K7VTEzcOVbwXHZebAe+FBnV+AjtQHn1vFa5eWkNss3C9ugHaPU86wzlnNRgbtnoyijB zy/C360WYJFQ10R7xrsQ2tabWj+qZjxpsCAWstMw5Rg0KM7dWOkD1MEu3yB1lfrEo4ku noA8RByY6aM7uDAlP2/HA4YmVAvllxuGVu/k/KlPfrKoysfB48AXweEnGxXUfMKXexWq Qgyg== 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=7yE3ZHkR69UGcsqSedpJxhASD5SeB0FinXe1byG56UQ=; b=TiNQehdEiNMr3bhbjyr2b7g7PHuM6P/fK49ImEEA0SYrU3s+KcSrjAYc6ccHeHYLG7 cPhtfA0NYY/tWuafdYb1iUCgz7IP0CimcrvR21QZ24qYezsU6fSqfaCuui5Se3QgUAzZ bVz60I21kPTK0uzdAplJ5EN9ZoUSDjPE3zyZYGedI0HgM4n6DRSvai3tbDppjW65guxR sj3Bl64F//dP27f/v4sVjPfOcqGFMgqAGZnwP9GMua0W3B2s21Q9UYYxqW1op2nM7nMm 155n8oohdeKwips/B31BNYdOnQ6oO7i0z/1yZbH9kljBzXiYKie2GViU0NsB3Q8yvDII p9UQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b="f/EVziDY"; 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 t12si4241560otm.224.2019.12.04.16.11.06; Wed, 04 Dec 2019 16:11:17 -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="f/EVziDY"; 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 S1728664AbfLEAK0 (ORCPT + 99 others); Wed, 4 Dec 2019 19:10:26 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:35376 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728624AbfLEAKU (ORCPT ); Wed, 4 Dec 2019 19:10:20 -0500 Received: by mail-pg1-f195.google.com with SMTP id l24so678092pgk.2 for ; Wed, 04 Dec 2019 16:10:20 -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=7yE3ZHkR69UGcsqSedpJxhASD5SeB0FinXe1byG56UQ=; b=f/EVziDY7KK0UVtP07zeQE8P/OZC24lNIxT+R0yrkPhKCRQlrqlzCOrH5fi8fvczJ5 bhXqfRmivbfuDr2Tu6VTuKi28nf92jc1ge/UxVZlXwVOvxwsjHB0e4vv9oMBJYuLmvcB d+qDYPPdtKxm9l1gNlaJYeQGZJZ06L4X45ZUM= 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=7yE3ZHkR69UGcsqSedpJxhASD5SeB0FinXe1byG56UQ=; b=DUVU5NyYgHhDB49h166m3yXKqn1iXvOlPXn+Ik6o0h3dQnPX1xNpFCmX7+Kmb4vJ4E 5M5iodUFVRf+dRKmyg0eWOh9kuN27RDeBCkkFuPOu6jBldfP3a+g7c5Z0tm+JyM5SfRs uUjHRN9a+/oq7G7ih/bPRD9B1SqDm4mBh7R50yTIG4CKZRrXUmjUJTGt5DILBxyZGhBU d4lKEkRvyGh9KGgOAGX+DdxbiAtkXNmWs7acrblJL579d4OaSPBt8uMtTqMjIuJKEAQ5 lWSGtm3JNDPscmodxTp98vtRXOQzOH8BmUwKltVFHVQ3x5NQB4/X5Qw8FDve59NTzGwJ ANeA== X-Gm-Message-State: APjAAAV9RsZx92p5xG2mVcnkUFOO1Ih/EBHSvYRI3f/2OQ2wXFjpgcZa jbY8TO16To5RseOjxZIHt/WSbA== X-Received: by 2002:a63:3f4f:: with SMTP id m76mr6186602pga.353.1575504619867; Wed, 04 Dec 2019 16:10:19 -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.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2019 16:10:19 -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, Andy Lutomirski , "Peter Zijlstra (Intel)" , Len Brown , linux-kernel@vger.kernel.org Subject: [PATCH v10 06/11] x86/CPU: Adapt assembly for PIE support Date: Wed, 4 Dec 2019 16:09:43 -0800 Message-Id: <20191205000957.112719-7-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 relative 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 --- arch/x86/include/asm/processor.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h index 0340aad3f2fc..77fa291a60bb 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h @@ -742,11 +742,13 @@ static inline void sync_core(void) "pushfq\n\t" "mov %%cs, %0\n\t" "pushq %q0\n\t" - "pushq $1f\n\t" + "leaq 1f(%%rip), %q0\n\t" + "pushq %q0\n\t" "iretq\n\t" UNWIND_HINT_RESTORE "1:" - : "=&r" (tmp), ASM_CALL_CONSTRAINT : : "cc", "memory"); + : "=&r" (tmp), ASM_CALL_CONSTRAINT + : : "cc", "memory"); #endif } -- 2.24.0.393.g34dc348eaf-goog