All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Helge Deller <deller@gmx.de>
Cc: linux-parisc@vger.kernel.org, kyle@hera.kernel.org,
	randolph@tausq.org, stable@kernel.org
Subject: Re: [PATCH] parisc: fix kernel crash when unwinding a userspace process (v2)
Date: Fri, 21 Nov 2008 14:20:13 -0800	[thread overview]
Message-ID: <20081121142013.f8d59b3f.akpm@linux-foundation.org> (raw)
In-Reply-To: <49272F66.1010702@gmx.de>

On Fri, 21 Nov 2008 23:00:06 +0100
Helge Deller <deller@gmx.de> wrote:

> Andrew Morton wrote:
> > On Fri, 21 Nov 2008 15:16:50 +0100
> > Helge Deller <deller@gmx.de> wrote:
> > 
> >> Any user on existing parisc 32- and 64bit-kernels can easily crash
> >> the kernel and as such enforce a DSO.
> >> A simple testcase is available here: 
> >>         http://gsyprf10.external.hp.com/~deller/crash.tgz
> >>
> >> The problem is introduced by the fact, that the handle_interruption()
> >> crash handler calls the show_regs() function, which in turn tries
> >> to unwind the stack by calling parisc_show_stack().
> >> Since the stack contains userspace addresses, a try to unwind 
> >> the stack is dangerous and useless and leads to the crash.
> >>
> >> The fix is trivial: For userspace processes
> >> a) avoid to unwind the stack, and
> >> b) avoid to resolve userspace addresses to kernel symbol names.
> >>
> >> While touching this code, I converted print_symbol() to %pS 
> >> printk formats and made parisc_show_stack() static.
> >>
> >> An initial patch for this was written by Kyle McMartin back in August:
> >> http://marc.info/?l=linux-parisc&m=121805168830283&w=2
> >>
> >> Compile and run-tested with a 64bit parisc kernel.
> > 
> > Why has a fix for such a severe bug been floating around unmerged for
> > such a long time?
> 
> I've tried to push it upstream a few times...

OK, well I'll merge it next week unless someone stops me.

> >> Patches for -stable series will follow shortly.
> > 
> > That shouldn't be needed - I'll cc stable on my copy and the stable
> > maintainers should see that and pick it up.  The patch applies cleanly
> > all the way back to 2.6.25.
> 
> Although it may apply to the older stable kernels, I'm currently not 
> sure if this will work then.
> We added the fixes for PA for the '%pS' vsprintf format pretty late. 
> This is probably then a patch which needs backporting to stable as well 
> (if it didn't happened yet):
> 	commit deac93df26b20cf8438339b5935b5f5643bc30c9
> 	Author: James Bottomley <James.Bottomley@HansenPartnership.com>
> 	Date:   Wed Sep 3 20:43:36 2008 -0500
> 	lib: Correct printk %pF to work on all architectures

Oh, OK.  I'll update the stable tag in the patch appropriately.

> Alternatively, I could write a little more simple patch, which is what I 
>   intended initially.

I'd suggest that you send that patch to stable@kernel.org in reply to
this one when you see it get dropped from -mm.

Unless someone stops me ;)

  reply	other threads:[~2008-11-21 22:20 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-20 21:58 [PATCH] parisc: fix kernel crash when unwinding a userspace process Helge Deller
2008-11-21 10:11 ` Randolph Chung
2008-11-21 14:02   ` Helge Deller
2008-11-21 14:16 ` [PATCH] parisc: fix kernel crash when unwinding a userspace process (v2) Helge Deller
2008-11-21 19:17   ` Andrew Morton
2008-11-21 22:00     ` Helge Deller
2008-11-21 22:20       ` Andrew Morton [this message]
2008-11-22  5:53         ` Grant Grundler
2008-11-22 12:22           ` Matthew Wilcox
2008-11-22 18:01             ` Grant Grundler
2008-11-22 20:09               ` Helge Deller
2008-12-01  7:21               ` [PATCH] 2.6.28-rc6 update parisc MAINTAINERS Grant Grundler
2008-12-01 15:59                 ` Helge Deller
2008-12-03  8:22                   ` Grant Grundler
2008-11-25 17:20           ` [PATCH] parisc: fix kernel crash when unwinding a userspace process (v2) Kyle McMartin
2008-11-26  2:47             ` Grant Grundler
2008-11-26  2:59               ` Kyle McMartin
2008-11-25 17:03 ` [PATCH] parisc: fix kernel crash when unwinding a userspace process Kyle McMartin

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=20081121142013.f8d59b3f.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=deller@gmx.de \
    --cc=kyle@hera.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=randolph@tausq.org \
    --cc=stable@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.