On Wed, 25 Sep 2024, Ard Biesheuvel wrote: > The x86_64 approach was needed to accommodate per-task stack protector > cookies, which used to live at a fixed offset of GS+40, requiring GS to > be treated as a base register. This is no longer the case, though, and > so GS can be repurposed as a true per-CPU offset, adopting the same > strategy as other architectures. > > This also removes the need for linker tricks to emit the per-CPU ELF > segment at a different virtual address. It also means RIP-relative > per-CPU variables no longer need to be relocated in the opposite > direction when KASLR is applied, which was necessary because the 0x0 > based per-CPU region remains in place even when the kernel is moved > around. Looks like a good cleanup. Hope it does not break anything that relies on structures %GS points to. Reviewed-by: Christoph Lameter <cl@xxxxxxxxx>