All of lore.kernel.org
 help / color / mirror / Atom feed
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>, Brian Gerst <brgerst@gmail.com>
Subject: [PATCH v2 04/11] x86/pvh: Use fixed_percpu_data for early boot GSBASE
Date: Thu, 26 Oct 2023 12:00:53 -0400	[thread overview]
Message-ID: <20231026160100.195099-5-brgerst@gmail.com> (raw)
In-Reply-To: <20231026160100.195099-1-brgerst@gmail.com>

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 | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index c4365a05ab83..be8d973c0528 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -96,8 +96,9 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 1:
 	/* Set base address in stack canary descriptor. */
 	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 +157,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)
-- 
2.41.0


  parent reply	other threads:[~2023-10-26 16:01 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-26 16:00 [PATCH v2 00/11] x86-64: Stack protector and percpu improvements Brian Gerst
2023-10-26 16:00 ` [PATCH v2 01/11] x86/stackprotector/32: Remove stack protector test script Brian Gerst
2023-10-26 17:59   ` Uros Bizjak
2023-10-26 16:00 ` [PATCH v2 02/11] x86/stackprotector/64: " Brian Gerst
2023-10-26 18:06   ` Uros Bizjak
2023-10-26 16:00 ` [PATCH v2 03/11] x86/boot: Disable stack protector for early boot code Brian Gerst
2023-10-26 16:00 ` Brian Gerst [this message]
2023-10-26 16:00 ` [PATCH v2 05/11] x86/stackprotector/64: Convert stack protector to normal percpu variable Brian Gerst
2023-10-26 18:16   ` Uros Bizjak
2023-10-29  1:26   ` kernel test robot
2023-10-29  6:56     ` Brian Gerst
2023-10-29 17:00       ` Brian Gerst
2023-10-30 15:24         ` Nick Desaulniers
2023-10-30 17:19           ` Brian Gerst
2023-11-01 21:21             ` Fangrui Song
2023-10-26 16:00 ` [PATCH v2 06/11] x86/percpu/64: Remove fixed_percpu_data Brian Gerst
2023-10-26 18:28   ` Uros Bizjak
2023-10-26 16:00 ` [PATCH v2 07/11] x86/percpu/64: Use relative percpu offsets Brian Gerst
2023-10-26 18:47   ` Uros Bizjak
2023-10-27  2:09     ` Brian Gerst
2023-10-27  6:09       ` Uros Bizjak
2023-10-26 16:00 ` [PATCH v2 08/11] x86/boot/64: Remove inverse relocations Brian Gerst
2023-10-26 16:00 ` [PATCH v2 09/11] x86/percpu/64: Remove INIT_PER_CPU macros Brian Gerst
2023-10-26 18:48   ` Uros Bizjak
2023-10-26 16:00 ` [PATCH v2 10/11] percpu: Remove PER_CPU_FIRST_SECTION Brian Gerst
2023-10-26 18:51   ` Uros Bizjak
2023-10-26 16:01 ` [PATCH v2 11/11] kallsyms: Remove KALLSYMS_ABSOLUTE_PERCPU Brian Gerst
2023-10-29 21:42 ` [PATCH v2 00/11] x86-64: Stack protector and percpu improvements David Laight
2023-10-29 23:19   ` Brian Gerst
2023-10-30  8:06   ` Uros Bizjak
2023-10-30  9:05     ` David Laight
2023-10-30  9:10       ` Uros Bizjak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231026160100.195099-5-brgerst@gmail.com \
    --to=brgerst@gmail.com \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=ubizjak@gmail.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.