]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
x86/boot/64: Strip percpu address space when setting up GDT descriptors
authorUros Bizjak <ubizjak@gmail.com>
Mon, 19 Aug 2024 08:33:13 +0000 (10:33 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 25 Aug 2024 14:07:51 +0000 (16:07 +0200)
commitb51207dc02ec3aeaa849e419f79055d7334845b6
tree4479ee4bbdc05ae093d90199a0bd2ed3f53b88bd
parent7678a53a1688e3d03337ca884b284c6e7b060ec5
x86/boot/64: Strip percpu address space when setting up GDT descriptors

init_per_cpu_var() returns a pointer in the percpu address space while
rip_rel_ptr() expects a pointer in the generic address space.

When strict address space checks are enabled, GCC's named address space
checks fail:

  asm.h:124:63: error: passing argument 1 of 'rip_rel_ptr' from
                       pointer to non-enclosed address space

Add a explicit cast to remove address space of the returned pointer.

Fixes: 11e36b0f7c21 ("x86/boot/64: Load the final kernel GDT during early boot directly, remove startup_gdt[]")
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20240819083334.148536-1-ubizjak@gmail.com
arch/x86/kernel/head64.c