> On Feb 1, 2019, at 12:21 PM, Thomas Garnier <thgar...@chromium.org> wrote:
> 
>> On Fri, Feb 1, 2019 at 11:27 AM Andy Lutomirski <l...@kernel.org> wrote:
>> 
>>> On Thu, Jan 31, 2019 at 11:29 AM Thomas Garnier <thgar...@chromium.org> 
>>> wrote:
>>> 
>>> Add an off-by-default configuration option to use a global stack cookie
>>> instead of the default TLS. This configuration option will only be used
>>> with PIE binaries.
>>> 
>>> For kernel stack cookie, the compiler uses the mcmodel=kernel to switch
>>> between the fs segment to gs segment. A PIE binary does not use
>>> mcmodel=kernel because it can be relocated anywhere, therefore the
>>> compiler will default to the fs segment register. This is fixed on the
>>> latest version of gcc.
>> 
>> I hate all these gcc-sucks-so-we-hack-it-and-change-nasty-semantics
>> options.  How about just preventing use of both stack protector and
>> PIE unless the version of gcc in use is new enough.
> 
> So fail the build in this scenario?

Fail the build or use some Kconfig magic to prevent this from being configured 
in the first place.

> 
>> 
>> Also, does -mstack-protector-guard-reg not solve this?  See
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81708.  Or is there
>> another bug?  Or are you worried about gcc versions that don't have
>> that feature yet?
> 
> I am worried about gcc versions that don't have this feature, yes.

Reply via email to