All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Andy Lutomirski <luto@amacapital.net>,
	Linus Torvalds <torvalds@linux-foundation.org>
Cc: PaX Team <pageexec@freemail.hu>,
	"kernel-hardening@lists.openwall.com" 
	<kernel-hardening@lists.openwall.com>,
	Mathias Krause <minipli@googlemail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Kees Cook <keescook@chromium.org>, Ingo Molnar <mingo@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>, x86-ml <x86@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	linux-arch <linux-arch@vger.kernel.org>,
	Emese Revfy <re.emese@gmail.com>
Subject: Re: [kernel-hardening] [PATCH 0/2] introduce post-init read-only memory
Date: Fri, 27 Nov 2015 08:59:59 +0100	[thread overview]
Message-ID: <20151127075959.GA24991@gmail.com> (raw)
In-Reply-To: <CALCETrXrvAY+mXx+JULw7W+xokcSPFgWm5-McJf9EKhYehPhbA@mail.gmail.com>


* Andy Lutomirski <luto@amacapital.net> wrote:

> > Can you see any fragility in such a technique?
> 
> After Linus shot down my rdmsr/rwmsr decoding patch, good luck...

I think that case was entirely different, but I've Cc:-ed Linus to shoot my idea 
down if it's crap.

> More seriously, though, I think this is mostly just like any other in-kernel 
> fault.  We failed, me might be under attack, let's oops.  In the particular case 
> of suspend/resume, we could consider a debug flag to allow writes to these 
> variables during suspend/resume.  In fact, that might even be a reasonable 
> default.  We might want to allow writes during module unload as well.

We are getting the _same_ information: we generate a reliable stack trace right 
there. We don't ignore anything.

What my suggestion would do is to turn a 'sure system crasher' into a 
'informational debug message'.

On today's typical desktop systems I can tell you with 110% confidence that the 
vast majority of 'system crasher' oopses never reaches a kernel developer's 
attention, because the oops message is not propagated to the user, while the 'dump 
stack trace and try to continue' approach will result in proper bugzillas.

And that's really an important distinction IMHO. Getting debug info out of the 
system is very important - and those who are paranoid can set a Kconfig value to 
crash their systems on any hint of a problem.

> For everything else, we should probably focus more on getting OOPSes to display 
> reliably, which is supposed to work but, on my shiny new i915-based laptop, is 
> clearly not ready yet (I oopsed it yesterday due to my own bug and all I had to 
> show for it was a blinking capslock key, and yes, modesetting works).

That's absolutely true as well but an independent issue: it does not invalidate my 
argument that is based on the status quo, which is that the vast majority 
panics/oopses, _especially_ during suspend/resume that was mentioned in this case, 
does not reach any kernel developer.

Thanks,

	Ingo

WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@kernel.org>
To: Andy Lutomirski <luto@amacapital.net>,
	Linus Torvalds <torvalds@linux-foundation.org>
Cc: PaX Team <pageexec@freemail.hu>,
	"kernel-hardening@lists.openwall.com"
	<kernel-hardening@lists.openwall.com>,
	Mathias Krause <minipli@googlemail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Kees Cook <keescook@chromium.org>, Ingo Molnar <mingo@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>, x86-ml <x86@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	linux-arch <linux-arch@vger.kernel.org>,
	Emese Revfy <re.emese@gmail.com>
Subject: Re: [PATCH 0/2] introduce post-init read-only memory
Date: Fri, 27 Nov 2015 08:59:59 +0100	[thread overview]
Message-ID: <20151127075959.GA24991@gmail.com> (raw)
In-Reply-To: <CALCETrXrvAY+mXx+JULw7W+xokcSPFgWm5-McJf9EKhYehPhbA@mail.gmail.com>


* Andy Lutomirski <luto@amacapital.net> wrote:

> > Can you see any fragility in such a technique?
> 
> After Linus shot down my rdmsr/rwmsr decoding patch, good luck...

I think that case was entirely different, but I've Cc:-ed Linus to shoot my idea 
down if it's crap.

> More seriously, though, I think this is mostly just like any other in-kernel 
> fault.  We failed, me might be under attack, let's oops.  In the particular case 
> of suspend/resume, we could consider a debug flag to allow writes to these 
> variables during suspend/resume.  In fact, that might even be a reasonable 
> default.  We might want to allow writes during module unload as well.

We are getting the _same_ information: we generate a reliable stack trace right 
there. We don't ignore anything.

What my suggestion would do is to turn a 'sure system crasher' into a 
'informational debug message'.

On today's typical desktop systems I can tell you with 110% confidence that the 
vast majority of 'system crasher' oopses never reaches a kernel developer's 
attention, because the oops message is not propagated to the user, while the 'dump 
stack trace and try to continue' approach will result in proper bugzillas.

And that's really an important distinction IMHO. Getting debug info out of the 
system is very important - and those who are paranoid can set a Kconfig value to 
crash their systems on any hint of a problem.

> For everything else, we should probably focus more on getting OOPSes to display 
> reliably, which is supposed to work but, on my shiny new i915-based laptop, is 
> clearly not ready yet (I oopsed it yesterday due to my own bug and all I had to 
> show for it was a blinking capslock key, and yes, modesetting works).

That's absolutely true as well but an independent issue: it does not invalidate my 
argument that is based on the status quo, which is that the vast majority 
panics/oopses, _especially_ during suspend/resume that was mentioned in this case, 
does not reach any kernel developer.

Thanks,

	Ingo

  reply	other threads:[~2015-11-27  8:00 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-24 21:38 [PATCH 0/2] introduce post-init read-only memory Kees Cook
2015-11-24 21:38 ` [kernel-hardening] " Kees Cook
2015-11-24 21:38 ` [PATCH 1/2] x86: " Kees Cook
2015-11-24 21:38   ` [kernel-hardening] " Kees Cook
2015-11-25  0:34   ` Andy Lutomirski
2015-11-25  0:34     ` [kernel-hardening] " Andy Lutomirski
2015-11-25  0:34     ` Andy Lutomirski
2015-11-25  0:44     ` Kees Cook
2015-11-25  0:44       ` [kernel-hardening] " Kees Cook
2015-11-25  0:44       ` Kees Cook
2015-11-25  0:54       ` [kernel-hardening] " Michael Ellerman
2015-11-25 15:03         ` Kees Cook
2015-11-25 15:03           ` Kees Cook
2015-11-25 23:05           ` Michael Ellerman
2015-11-25 23:32             ` Kees Cook
2015-11-25 23:32               ` Kees Cook
2015-11-25 23:32               ` Kees Cook
2015-11-24 21:38 ` [PATCH 2/2] x86, vdso: mark vDSO read-only after init Kees Cook
2015-11-24 21:38   ` [kernel-hardening] " Kees Cook
2015-11-25  9:13 ` [kernel-hardening] [PATCH 0/2] introduce post-init read-only memory Mathias Krause
2015-11-25  9:13   ` Mathias Krause
2015-11-25 10:06   ` [kernel-hardening] " Clemens Ladisch
2015-11-25 11:14     ` PaX Team
2015-11-25 11:14       ` PaX Team
2015-11-26 15:23     ` [kernel-hardening] " Daniel Micay
2015-11-25 11:05   ` PaX Team
2015-11-25 11:05     ` PaX Team
2015-11-26  8:54     ` [kernel-hardening] " Ingo Molnar
2015-11-26  9:57       ` PaX Team
2015-11-26  9:57         ` PaX Team
2015-11-26 10:42         ` [kernel-hardening] " Ingo Molnar
2015-11-26 12:14           ` PaX Team
2015-11-26 12:14             ` PaX Team
2015-11-27  8:05             ` [kernel-hardening] " Ingo Molnar
2015-11-27  8:05               ` Ingo Molnar
2015-11-27 15:29               ` [kernel-hardening] " PaX Team
2015-11-27 15:29                 ` PaX Team
2015-11-27 16:30                 ` [kernel-hardening] " Andy Lutomirski
2015-11-27 16:30                   ` Andy Lutomirski
2015-11-29  8:08                 ` Ingo Molnar
2015-11-29 11:15                   ` PaX Team
2015-11-29 11:15                     ` PaX Team
2015-11-29 15:39                     ` [kernel-hardening] " Ingo Molnar
2015-11-29 18:05                       ` Mathias Krause
2015-11-29 18:05                         ` Mathias Krause
2015-11-30  8:01                         ` [kernel-hardening] " Ingo Molnar
2015-11-30  8:01                           ` Ingo Molnar
2015-11-26 16:11       ` [kernel-hardening] " Andy Lutomirski
2015-11-26 16:11         ` Andy Lutomirski
2015-11-26 16:11         ` Andy Lutomirski
2015-11-27  7:59         ` Ingo Molnar [this message]
2015-11-27  7:59           ` [kernel-hardening] " Ingo Molnar
2015-11-27  7:59           ` Ingo Molnar
2015-11-27 18:00           ` [kernel-hardening] " Linus Torvalds
2015-11-27 18:00             ` Linus Torvalds
2015-11-27 18:03             ` Linus Torvalds
2015-11-27 18:03               ` Linus Torvalds
2015-11-27 18:03               ` Linus Torvalds
2015-11-27 20:03             ` [kernel-hardening] " Kees Cook
2015-11-27 20:03               ` Kees Cook
2015-11-27 20:03               ` Kees Cook
2015-11-27 20:09               ` [kernel-hardening] " Andy Lutomirski
2015-11-27 20:09                 ` Andy Lutomirski
2015-11-29  8:05                 ` Ingo Molnar
2015-11-29  8:05                   ` Ingo Molnar
2015-11-30 21:14                   ` H. Peter Anvin
2015-11-30 21:14                     ` H. Peter Anvin
2015-11-30 21:14                     ` H. Peter Anvin
2015-11-30 21:33                     ` [kernel-hardening] " Kees Cook
2015-11-30 21:33                       ` Kees Cook
2015-11-30 21:38                       ` Andy Lutomirski
2015-11-30 21:38                         ` Andy Lutomirski
2015-11-30 21:43                       ` H. Peter Anvin
2015-11-30 21:43                         ` H. Peter Anvin
2015-11-30 21:43                         ` H. Peter Anvin
2015-11-25 17:26   ` [kernel-hardening] " Kees Cook
2015-11-25 17:26     ` Kees Cook
2015-11-25 17:26     ` Kees Cook
2015-11-25 17:31   ` [kernel-hardening] " H. Peter Anvin
2015-11-25 17:31     ` H. Peter Anvin
2015-11-25 18:54     ` [kernel-hardening] " Kees Cook
2015-11-25 18:54       ` Kees Cook
2015-11-25 19:06       ` H. Peter Anvin
2015-11-25 19:06         ` H. Peter Anvin

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=20151127075959.GA24991@gmail.com \
    --to=mingo@kernel.org \
    --cc=arnd@arndb.de \
    --cc=hpa@zytor.com \
    --cc=keescook@chromium.org \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=mingo@redhat.com \
    --cc=minipli@googlemail.com \
    --cc=mpe@ellerman.id.au \
    --cc=pageexec@freemail.hu \
    --cc=re.emese@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.