linux-mips
[Top] [All Lists]

Re: Breakage in arch/mips/kernel/traps.c for 64bit

To: tsbogend@alpha.franken.de
Subject: Re: Breakage in arch/mips/kernel/traps.c for 64bit
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Sun, 04 May 2008 22:39:44 +0900 (JST)
Cc: ralf@linux-mips.org, linux-mips@linux-mips.org
In-reply-to: <20080503224849.GA2314@alpha.franken.de>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20080502101113.GA24408@linux-mips.org> <20080504.011647.93019265.anemo@mba.ocn.ne.jp> <20080503224849.GA2314@alpha.franken.de>
Sender: linux-mips-bounce@linux-mips.org
On Sun, 4 May 2008 00:48:49 +0200, tsbogend@alpha.franken.de (Thomas 
Bogendoerfer) wrote:
> hmm, why not simply use __get_user() when accessing the stack content ?
> show_stacktrace() already does it for stack dumping ? This would
> avoid any work for whatever sick stack mappings. Below is a patch,
> which does this.

I like this patch.  One minor request:

> +     unsigned long __user *sp = (unsigned long __user *)(reg29 & ~3);
...
> +     while (!kstack_end(sp)) {
> +             if (__get_user(addr, sp++)) {

This will leads a sparse warning since an argument for kstack_end is 'void *'.

        while (!kstack_end((void *)(unsigned long)sp)) {

will make this part sparse-free, though it seems a bit ugly.

---
Atsushi Nemoto

<Prev in Thread] Current Thread [Next in Thread>