From: Tejun Heo <tj@home-tj.org>
To: Zwane Mwaikambo <zwane@linuxpower.ca>
Cc: Andi Kleen <ak@suse.de>, Tejun Heo <tj@home-tj.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Interrupt entry CONFIG_FRAME_POINTER fix
Date: Mon, 13 Sep 2004 03:11:29 +0900 [thread overview]
Message-ID: <20040912181129.GA21093@home-tj.org> (raw)
In-Reply-To: <Pine.LNX.4.53.0409121257320.2297@montezuma.fsmlabs.com>
On Sun, Sep 12, 2004 at 01:10:26PM -0400, Zwane Mwaikambo wrote:
> On Sun, 12 Sep 2004, Andi Kleen wrote:
> > On Sun, 12 Sep 2004 18:16:28 +0900
> > Tejun Heo <tj@home-tj.org> wrote:
> >
> > > On x86_64, rbp isn't saved on entering interrupt handler even when
> > > CONFIG_FRAME_POINTER is turned on. This breaks profile_pc()
> > > (resulting in oops) which uses regs->rbp to track back to the original
> > > stack. Save full stack when CONFIG_FRAME_POINTER is specified.
> >
> >
> > I don't think your patch is correct, you don't restore rbp ever and it gets corrupted.
> >
> > I think the correct change is to fix profile_pc() to not reference rbp, but just hardcode
> > the rsp offset for the FP and non FP cases (8 and 0)
>
> Yep, i botched up the patch, after looking at the disassembly on
> x86_64 without CONFIG_FRAME_POINTER again it's definitely incorrect. In
> fact there are still a few users such as _spin_lock_irqsave which push
> flags onto the stack and the stack pointer isn't consistent across all
> functions in that text section. I'm going to have to try Andi's previous
> suggestions.
I'm sorry but I guess I'm slow today. :-( Can you please be kind
enough to lighten me up on how things get corrupted? I've read the
assembly source and disassembly of the output but I don't really see
how it'll get corrupted.
--
tejun
prev parent reply other threads:[~2004-09-12 18:11 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-12 9:16 [PATCH] Interrupt entry CONFIG_FRAME_POINTER fix Tejun Heo
2004-09-12 11:24 ` Andi Kleen
2004-09-12 14:38 ` Tejun Heo
2004-09-12 17:10 ` Zwane Mwaikambo
2004-09-12 18:11 ` Tejun Heo [this message]
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=20040912181129.GA21093@home-tj.org \
--to=tj@home-tj.org \
--cc=ak@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=zwane@linuxpower.ca \
/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