kernel-hardening.lists.openwall.com archive mirror
 help / color / mirror / Atom feed
From: Thomas Garnier <thgarnie@chromium.org>
To: Andy Lutomirski <luto@amacapital.net>
Cc: Andy Lutomirski <luto@kernel.org>,
	Kernel Hardening <kernel-hardening@lists.openwall.com>,
	Kristen Carlson Accardi <kristen@linux.intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>, X86 ML <x86@kernel.org>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Juergen Gross <jgross@suse.com>, Joerg Roedel <jroedel@suse.de>,
	Jia Zhang <qianyue.zj@alibaba-inc.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Tim Chen <tim.c.chen@linux.intel.com>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v6 20/27] x86: Support global stack cookie
Date: Fri, 1 Feb 2019 15:56:07 -0800	[thread overview]
Message-ID: <CAJcbSZGRFhQL56VnLwJn=r6MVjk9miYVeKgwdP+P45JT2q7QdA@mail.gmail.com> (raw)
In-Reply-To: <777DD215-A4F5-454F-856F-FFE870F15CDD@amacapital.net>

On Fri, Feb 1, 2019 at 2:36 PM Andy Lutomirski <luto@amacapital.net> wrote:
>
>
> > On Feb 1, 2019, at 12:21 PM, Thomas Garnier <thgarnie@chromium.org> wrote:
> >
> >> On Fri, Feb 1, 2019 at 11:27 AM Andy Lutomirski <luto@kernel.org> wrote:
> >>
> >>> On Thu, Jan 31, 2019 at 11:29 AM Thomas Garnier <thgarnie@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.

Ok, I can do that in next iteration.

>
> >
> >>
> >> 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	other threads:[~2019-02-01 23:56 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-31 19:24 [PATCH v6 00/27] x86: PIE support and option to extend KASLR randomization Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 01/27] x86/crypto: Adapt assembly for PIE support Thomas Garnier
2019-02-07 11:48   ` Borislav Petkov
2019-02-07 17:01     ` Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 02/27] x86: Use symbol name in jump table " Thomas Garnier
2019-02-07 12:17   ` Borislav Petkov
2019-02-07 17:04     ` Thomas Garnier
2019-02-07 17:11       ` Borislav Petkov
2019-02-07 23:55         ` Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 03/27] x86: Add macro to get symbol address " Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 04/27] x86: relocate_kernel - Adapt assembly " Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 05/27] x86/entry/64: " Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 06/27] x86: pm-trace - " Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 07/27] x86/CPU: " Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 08/27] x86/acpi: " Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 09/27] x86/boot/64: " Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 10/27] x86/power/64: " Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 11/27] x86/paravirt: " Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 12/27] x86/alternatives: " Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 13/27] x86/boot/64: Build head64.c as mcmodel large when PIE is enabled Thomas Garnier
2019-02-01 11:15   ` Kirill A. Shutemov
2019-02-01 17:11     ` Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 14/27] x86/percpu: Adapt percpu for PIE support Thomas Garnier
2019-01-31 20:57   ` Christopher Lameter
2019-01-31 22:49     ` Thomas Garnier
2019-02-01  2:31       ` Christopher Lameter
2019-02-01 17:13         ` Thomas Garnier
2019-04-08 15:58           ` Thomas Garnier
2019-04-08 17:56             ` Christopher Lameter
2019-04-08 18:08               ` Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 15/27] compiler: Option to default to hidden symbols Thomas Garnier
2019-02-01  7:12   ` Dan Carpenter
2019-02-01 17:00     ` Thomas Garnier
2019-02-01  8:22   ` Adrian Hunter
2019-02-01 17:35     ` Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 16/27] compiler: Option to add PROVIDE_HIDDEN replacement for weak symbols Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 17/27] x86/relocs: Handle PIE relocations Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 18/27] xen: Adapt assembly for PIE support Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 19/27] kvm: " Thomas Garnier
2019-02-06 19:56   ` Sean Christopherson
2019-02-06 21:23     ` Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 20/27] x86: Support global stack cookie Thomas Garnier
2019-02-01 19:27   ` Andy Lutomirski
2019-02-01 20:21     ` Thomas Garnier
2019-02-01 22:36       ` Andy Lutomirski
2019-02-01 23:56         ` Thomas Garnier [this message]
2019-01-31 19:24 ` [PATCH v6 21/27] x86/ftrace: Adapt function tracing for PIE support Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 22/27] x86/modules: Add option to start module section after kernel Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 23/27] x86/modules: Adapt module loading for PIE support Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 24/27] x86/mm: Make the x86 GOT read-only Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 25/27] x86/pie: Add option to build the kernel as PIE Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 26/27] x86/relocs: Add option to generate 64-bit relocations Thomas Garnier
2019-01-31 19:24 ` [PATCH v6 27/27] x86/kaslr: Add option to extend KASLR range from 1GB to 3GB Thomas Garnier
2019-01-31 19:59 ` [PATCH v6 00/27] x86: PIE support and option to extend KASLR randomization Kees Cook
2019-01-31 21:40 ` Konrad Rzeszutek Wilk
2019-01-31 22:42   ` Thomas Garnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJcbSZGRFhQL56VnLwJn=r6MVjk9miYVeKgwdP+P45JT2q7QdA@mail.gmail.com' \
    --to=thgarnie@chromium.org \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=jgross@suse.com \
    --cc=jroedel@suse.de \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=konrad.wilk@oracle.com \
    --cc=kristen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=qianyue.zj@alibaba-inc.com \
    --cc=tglx@linutronix.de \
    --cc=tim.c.chen@linux.intel.com \
    --cc=x86@kernel.org \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).