Message ID | 20231115173708.108316-5-brgerst@gmail.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp2700673vqg; Wed, 15 Nov 2023 09:39:10 -0800 (PST) X-Google-Smtp-Source: AGHT+IGSnAv6uCO73LWJ3irYGqE7SCyPogRlCAqjzo867jdqLX9TrAKQcjphzC/fahIZJ1YoyY5k X-Received: by 2002:a05:6a00:26e7:b0:68b:a137:3739 with SMTP id p39-20020a056a0026e700b0068ba1373739mr9532959pfw.4.1700069949870; Wed, 15 Nov 2023 09:39:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700069949; cv=none; d=google.com; s=arc-20160816; b=wVPdIxWsz6RKFLWib7djU41Iw8Ay9XTzKbRW59smgO+2VGMl3AoKGYgOVQrJa0ZukB 3o8TIpObfLQ8gBxmxetmbxfKEmYEWXoP3T2CbVtRoJsP1Z5kKvktB5XSe862RTYkNaZa 700jlco5p5ymP6JFm6u6d1CPEr5hBEJyp5ath2ZgvvBCmts0kLOc2rC67yiHLS018tAk J2s2M9jO+gb6v77lVB3SDbjHWdTr2qLSdHT6UYhh0kzgLlKZrurzIQwvi4fB++Td43lZ UNQjWogIsIN7o0xahScD9YFyWCBK/TL8iOothnvZ7CCUL31gxB9JEzycB0ZiwNaKEjws xZxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=PLUf2tkG8NZ4kfbeIrEm6olUf9NTE49Bj17ZfTFY3SY=; fh=O55jSVrVODK5Pp/8HguUJuz95L5ieTggTCPnkrmwi7I=; b=TKxa2qLs91FlMYR6tiwmFLrjoOgZIxrAkX8MFNRPy+hHeYs9ISwjjyu+IcKP7KkStx NyA1joVNGuGBur6k5nSy7vsU+ahmHRP/aiul1rgBgJjIJNyKVFtE6+8FO3XNbZ+Bu6g+ vzH8MrikDFnef15NTWESJjaHFGMwG2x2uFU0O60RNPdM/GNHrPLhJFxlC47D0cyOeLlJ VP+J0Y7XWQE3l6MP9IbuL7f63eWArCg/zga72vLMgwsZ6dHwk6RV+ZP8V/vRJ3wtuZ2P XWcg7h3FZp+jFvKbXWaDnJZUObfch1RKWXOt3D8l769/5ht6oh2p13hL6Cs4JqWZ0RhE Uqfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=SEDG8xAQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id g9-20020a056a000b8900b006bf531dd685si11013235pfj.64.2023.11.15.09.39.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Nov 2023 09:39:09 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=SEDG8xAQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 9F4FD80AB1C1; Wed, 15 Nov 2023 09:37:55 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232734AbjKORhl (ORCPT <rfc822;lhua1029@gmail.com> + 29 others); Wed, 15 Nov 2023 12:37:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60808 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232628AbjKORhg (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 15 Nov 2023 12:37:36 -0500 Received: from mail-qk1-x733.google.com (mail-qk1-x733.google.com [IPv6:2607:f8b0:4864:20::733]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 57F511BD for <linux-kernel@vger.kernel.org>; Wed, 15 Nov 2023 09:37:31 -0800 (PST) Received: by mail-qk1-x733.google.com with SMTP id af79cd13be357-7781bc3783fso459159685a.1 for <linux-kernel@vger.kernel.org>; Wed, 15 Nov 2023 09:37:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700069850; x=1700674650; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PLUf2tkG8NZ4kfbeIrEm6olUf9NTE49Bj17ZfTFY3SY=; b=SEDG8xAQ8M4YUl7aNvW53zzlkGKixvtyFTOFSn4Q2KmfgCGUfp5jFJ6CbJBWg17b+S ufYPpeM22fNqQGNBXG+IS7fHm4DfU1N85bdV/mAaBURgtbI81yWx026QPnKbPxZ22VaP v+wOHouYq1pNqJrWp0mBr3Jx2/SfeFgSEyE2dtr9YM7HUxFczn72QYRqByATXKAUjcul RoqZ5iavlXMU7OK+tj8ZEX0oWkiPde2BOn/mep5NY8jXlAjHuAboFQzQZRjkHhayAZY1 Nj7OsbuNBhueJHsjxRqufDjeKAnmk3I0IumaoWcI4M/m3dB6/onw36HARrs9M5KuSXR0 I42A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700069850; x=1700674650; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PLUf2tkG8NZ4kfbeIrEm6olUf9NTE49Bj17ZfTFY3SY=; b=pKVQPyvgsAq09fmPfMRhIxnOO+NFTqHq858q8j4whvAOguVfxSCrqqkf3hbFm0YbxW EvtXn9NPvCmM+hjF2OL9/HWvMGrl3w7JwLD4L748tAVES3DtJwwwIHvbY0wLDOJ/LEYv 9J8Eiy7sxagrrHRGd/Q+JOUF3CNk5S1fnQzDvITbXihvCiZFpBNe8il/FQE96qRxB/q/ zxlCkos/66G3regTWS7s1P3E8sP5ZTbRQhWas3FOhBMQrpS1ur2P1fbr92p8KQedOqvw K+d82h0icr2psO8ZXhPV9OEtx8lYZrbyFV7+IO71nWkxKkxO+LYAnXI6rScLMHfdV5VO D6wA== X-Gm-Message-State: AOJu0YyCdpyC3bc0EixsuJNWHOEckr1DzhMSF1Q3WKJA2NlDMW5YmmII pgCNxIieVf6EqkhIxlKAFZaYO0fkDw== X-Received: by 2002:a05:620a:284d:b0:778:9824:4b7a with SMTP id h13-20020a05620a284d00b0077898244b7amr6407829qkp.69.1700069850080; Wed, 15 Nov 2023 09:37:30 -0800 (PST) Received: from citadel.lan ([2600:6c4a:4d3f:6d5c::1019]) by smtp.gmail.com with ESMTPSA id x20-20020a05620a0b5400b0077bda014d8esm3260099qkg.87.2023.11.15.09.37.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Nov 2023 09:37:28 -0800 (PST) From: Brian Gerst <brgerst@gmail.com> To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: Ingo Molnar <mingo@kernel.org>, Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, "H . Peter Anvin" <hpa@zytor.com>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, David.Laight@aculab.com, Brian Gerst <brgerst@gmail.com> Subject: [PATCH v3 04/14] x86/pvh: Use fixed_percpu_data for early boot GSBASE Date: Wed, 15 Nov 2023 12:36:58 -0500 Message-ID: <20231115173708.108316-5-brgerst@gmail.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231115173708.108316-1-brgerst@gmail.com> References: <20231115173708.108316-1-brgerst@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 15 Nov 2023 09:37:55 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782652547498562879 X-GMAIL-MSGID: 1782652547498562879 |
Series |
x86-64: Stack protector and percpu improvements
|
|
Commit Message
Brian Gerst
Nov. 15, 2023, 5:36 p.m. UTC
Instead of having a private area for the stack canary, use
fixed_percpu_data for GSBASE like the native kernel.
Signed-off-by: Brian Gerst <brgerst@gmail.com>
---
arch/x86/platform/pvh/head.S | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S index c4365a05ab83..fab90368481f 100644 --- a/arch/x86/platform/pvh/head.S +++ b/arch/x86/platform/pvh/head.S @@ -94,10 +94,15 @@ SYM_CODE_START_LOCAL(pvh_start_xen) /* 64-bit entry point. */ .code64 1: - /* Set base address in stack canary descriptor. */ + /* + * Set up GSBASE. + * Note that, on SMP, the boot cpu uses init data section until + * the per cpu areas are set up. + */ mov $MSR_GS_BASE,%ecx - mov $_pa(canary), %eax - xor %edx, %edx + lea INIT_PER_CPU_VAR(fixed_percpu_data)(%rip), %rdx + mov %edx, %eax + shr $32, %rdx wrmsr call xen_prepare_pvh @@ -156,8 +161,6 @@ SYM_DATA_START_LOCAL(gdt_start) SYM_DATA_END_LABEL(gdt_start, SYM_L_LOCAL, gdt_end) .balign 16 -SYM_DATA_LOCAL(canary, .fill 48, 1, 0) - SYM_DATA_START_LOCAL(early_stack) .fill BOOT_STACK_SIZE, 1, 0 SYM_DATA_END_LABEL(early_stack, SYM_L_LOCAL, early_stack_end)