Re: CONFIG_PAGE_TABLE_ISOLATION=y on x86_64 causes gcc to segfault when building x86_32 binaries

From: Thomas Gleixner
Date: Wed Jan 03 2018 - 07:05:46 EST


On Wed, 3 Jan 2018, Thomas Gleixner wrote:
> On Wed, 3 Jan 2018, Lars Wendler wrote:
> Thanks for the report.
>
> > I already had a conversation with Thomas Gleixner about this issue and
> > he asked me to post it here.
> >
> > After upgrading my system to vanilla 4.14.11 kernel with
> > CONFIG_PAGE_TABLE_ISOLATION=y I could no longer build any 32bit
> > binaries because gcc (7.2.0) segfaults.
>
> That's a 64bit binary, right?
>
> > This only happens with CONFIG_PAGE_TABLE_ISOLATION=y
> > I can get rid of this issue by setting CONFIG_PAGE_TABLE_ISOLATION=n
> > _or_ adding pti=off to the kernel command line (the latter was
> > suggested by Thomas).
> >
> > Please find attached the kernel's config together with the dmesg output
> > of the kernel that produces segfaults and the one with pti=off. I also
> > attached a config.log file from a build where gcc segfaulted.
> >
> > If you need more information, please don't hesitate to ask.
>
> will do.

Here you go.

Is this anything special you are trying to build or is a simple

gcc -m32 -o hello hello.c

Also can you please try Linus v4.15-rc6 with PTI enabled so we can see
whether that's a backport issue or a general one?

Thanks,

tglx