Re: [PATCH 3/3] x86_64: Use relative per-cpu offsets

From: H. Peter Anvin
Date: Sat Nov 13 2021 - 23:24:44 EST


On 11/13/21 17:18, Andy Lutomirski wrote:


On Sat, Nov 13, 2021, at 4:40 AM, Brian Gerst wrote:
The per-cpu section is currently linked at virtual address 0, because
older compilers hardcoded the stack protector canary value at a fixed
offset from the start of the GS segment. Use a standard relative offset
as the GS base when the stack protector is disabled, or a newer compiler
is used that supports a configurable location for the stack canary.

Can you explain the benefit? Also, I think we should consider dropping support for the fixed model like we did on x86_32.


It would seem that UNLESS the fixed model is dropped, the benefit is probably negative.

-hpa