Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp5017563ybi; Tue, 30 Jul 2019 12:14:43 -0700 (PDT) X-Google-Smtp-Source: APXvYqyCo62YwG4T0MdHNFTbZy8cHRcAXPRnJnJUIXjdVL4jCTeUziDZL5OogfhExyv9DAO2dhli X-Received: by 2002:a62:2582:: with SMTP id l124mr43046413pfl.43.1564514083169; Tue, 30 Jul 2019 12:14:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564514083; cv=none; d=google.com; s=arc-20160816; b=WgFdFfj/7Gtk09Srz9/K0Rn1Pbri/gq19u/9GNZOyq5S595ZDivogU9Gs7oZpEJRoi azdA6/clalrpyR1Y/cCUN5m2xroAesxDfPBQ7BxuS3vavgK7RryqsWtbJNMR9R3ZNCT6 wxBlCKvlJJ/4gRG8ZUDB63CufyxPNZ1qK6JyCvSPBTbpCwwQmGGRacwduCbj/UwonAya sL/huwNqQTpSSIOQyw1jVqlEFRCHWCOTmvqn6edh6nsOVycKEB1+cQ/MbbI32JVZfnrs i3wiKHZ7RmMK+UePZmS9DrgCFjWJ3m+VBkYX9F9Gnqdy+cXU7+Obr07bj0jzS78QM2v2 V18w== 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=Qa0vdqU/e4QPHFVnoNOrEozPMumAGtkoZQ9IP0jYnkg=; b=H3bbTT+YjjVtLRs97t0QDlmp76tJBx0YS8sJIYQLJa5K5oQYvJA9+Z3SW9TmD4F2Da XT6cfB2mcIS/X/EC5lFSy3kh0B9degBkqlydba1iM2G7N1Qo+io0/0PAfo1NEplViaJl sp7hlPR6cleXWzQAp4DFu6tj4oMLFyGoi8xF09Mj9MRq+/R9l4KnYRvFgELaJhcQdMu3 kzWt+pbNE2gU5ikk/OOgs6kP5DLPkv5gh5GjHFORJ5WFJaVJUllT3Q2U9U4qHNmEfP+5 AcdNETQmL6eaBU4AKVXu0kq+FauUIC9LLE7zkrpUMMQ3a60AzGwwD/zJER/kDyyLJ6hQ xLZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=m0iQTXUN; 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 z17si29507373pgj.147.2019.07.30.12.14.28; Tue, 30 Jul 2019 12:14:43 -0700 (PDT) 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=m0iQTXUN; 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 S2388265AbfG3TNY (ORCPT + 99 others); Tue, 30 Jul 2019 15:13:24 -0400 Received: from mail-pg1-f195.google.com ([209.85.215.195]:34585 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388075AbfG3TNU (ORCPT ); Tue, 30 Jul 2019 15:13:20 -0400 Received: by mail-pg1-f195.google.com with SMTP id n9so24330517pgc.1 for ; Tue, 30 Jul 2019 12:13:19 -0700 (PDT) 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=Qa0vdqU/e4QPHFVnoNOrEozPMumAGtkoZQ9IP0jYnkg=; b=m0iQTXUNy9Ivxk8S8rx6UuqUrCNk/lmb9ABT6tX720KuMWsD28POJqIHBW6/ecVDNQ 1wbWq2OFtsCV/gCMaCWhi/N9ivwFCLXmf8NoCB80kLVtvh5oGNjC8TdkekyoWfngXYpv g4yOAr38UwABJuJh4u7l9MRi4cavnGZbRi9Oc= 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=Qa0vdqU/e4QPHFVnoNOrEozPMumAGtkoZQ9IP0jYnkg=; b=AODDATy8YZtpA1twKk7mjCsZ8N01GF3Jwct1ihRKgkBZBjIYRJHaaE/G30Uv1GmzlV 3pzHe6qYiC+fjV0vRoLcXgaZdWtUKz2jbDfrnywrbYzmJUnqkSE/xbdz7EQ8a3tXHqYP hnJ2lmK2j+klXG6kFxFaPz1M3Al9wYOsl5obGoydhIO4a8qiWdgJzSjTXCEicUJbr+89 Y8SLrzHcU36ogepllx8YS5q7ZSgNJacZSLIinG4N0ZXXTz8Z7NUgEQhqA/J5PHXvm/fU QuNf3hbEqkN5L40Rz69Kdid8QdL39PUOLJ00cgpKd0yKqdq9O/AFPkIbXGYT210G1as6 Ldvg== X-Gm-Message-State: APjAAAWEGAaiBVNDRmVnwELgpjCaEk+nXYZ48/VKS6PjmqH8iUmKLKXD XB7GuykKgOX4CF8i9Wlwm1Vb1Q== X-Received: by 2002:a17:90a:b115:: with SMTP id z21mr56057575pjq.64.1564513999646; Tue, 30 Jul 2019 12:13:19 -0700 (PDT) Received: from skynet.sea.corp.google.com ([2620:0:1008:1100:c4b5:ec23:d87b:d6d3]) by smtp.gmail.com with ESMTPSA id n89sm84649540pjc.0.2019.07.30.12.13.18 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 30 Jul 2019 12:13:19 -0700 (PDT) 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, "Peter Zijlstra (Intel)" , Andrew Morton , Len Brown , Andy Lutomirski , linux-kernel@vger.kernel.org Subject: [PATCH v9 06/11] x86/CPU: Adapt assembly for PIE support Date: Tue, 30 Jul 2019 12:12:50 -0700 Message-Id: <20190730191303.206365-7-thgarnie@chromium.org> X-Mailer: git-send-email 2.22.0.770.g0f2c4a37fd-goog In-Reply-To: <20190730191303.206365-1-thgarnie@chromium.org> References: <20190730191303.206365-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 6e0a3b43d027..bf333d62889e 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h @@ -713,11 +713,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.22.0.770.g0f2c4a37fd-goog