[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMzpN2h_4cKa7oxPQ0M169xQMKCtZCj9bTggBd4Cyk8j18tf=g@mail.gmail.com>
Date: Sat, 9 Nov 2024 10:11:18 -0500
From: Brian Gerst <brgerst@...il.com>
To: David Laight <David.Laight@...lab.com>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "x86@...nel.org" <x86@...nel.org>,
Ingo Molnar <mingo@...nel.org>, "H . Peter Anvin" <hpa@...or.com>, Thomas Gleixner <tglx@...utronix.de>,
Borislav Petkov <bp@...en8.de>, Ard Biesheuvel <ardb@...nel.org>, Uros Bizjak <ubizjak@...il.com>
Subject: Re: [PATCH v5 00/16] x86-64: Stack protector and percpu improvements
On Sat, Nov 9, 2024 at 4:31 AM David Laight <David.Laight@...lab.com> wrote:
>
> From: Brian Gerst
> > Sent: 05 November 2024 15:58
> >
> > Currently, x86-64 uses an unusual percpu layout, where the percpu section
> > is linked at absolute address 0. The reason behind this is that older GCC
> > versions placed the stack protector (if enabled) at a fixed offset from the
> > GS segment base. Since the GS segement is also used for percpu variables,
> > this forced the current layout.
> >
> > GCC since version 8.1 supports a configurable location for the stack
> > protector value, which allows removal of the restriction on how the percpu
> > section is linked. This allows the percpu section to be linked normally,
> > like other architectures. In turn, this allows removal of code that was
> > needed to support the zero-based percpu section.
> >
> > v5:
> > - Added two patches from Ard Biesheuvel to make stack protector work
> > properly when compiling with clang.
> > - Raise minimum GCC version to 8.1 for x86.
> > - Drop objtool conversion code.
>
> Is there any actual need to raise the GCC level?
> Isn't it enough just to disable stack protection with older compilers?
> The percpu layout can then always be the new (sane) one.
Earlier versions of this series did make stack protector support
conditional on newer compilers. That got rejected. I then added
objtool support to convert the code old compilers produced. That also
got rejected. I guess I can't please everyone.
> Is there even a selectable CONFIG_STACK_PROTECTOR?
> Can than depend on gcc >= 8.1 for x86-64?
Yes, stack protector support is optional, but practically all distro
kernels enable it.
> I've a slight vested interest in that the system I test kernels on
> has gcc 7.5.0 installed :-)
What distro is on that system? Is it still actively supported?
Brian Gerst
Powered by blists - more mailing lists