[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091012205208.GE17163@elte.hu>
Date: Mon, 12 Oct 2009 22:52:08 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Jeremy Fitzhardinge <jeremy@...p.org>
Cc: Bastian Blank <bastian@...di.eu.org>,
Ingo Molnar <mingo@...hat.com>,
the arch/x86 maintainers <x86@...nel.org>,
Stable Kernel <stable@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Xen-devel <xen-devel@...ts.xensource.com>
Subject: Re: [Xen-devel] Re: [PATCH] xen: Disable stack protector for irq
helper
* Jeremy Fitzhardinge <jeremy@...p.org> wrote:
> On 10/07/09 09:35, Bastian Blank wrote:
> > On Tue, Oct 06, 2009 at 12:01:12PM -0700, Jeremy Fitzhardinge wrote:
> >
> >> On 10/05/09 20:30, Bastian Blank wrote:
> >>
> >>> The original version saves ecx, but not edx. Both are official
> >>> caller-saved registers.
> >>>
> >> Hm. It doesn't save edx because that can be half of a 64-bit return
> >> value, and in general both eax and edx are marked clobbered.
> >>
> > Then it will be also wrong for functions returning void. They may
> > clobber eax but never set it to something correct.
> >
>
> The asm is marked as clobbering eax/edx, so the compiler knows it can't
> rely on them being preserved. void functions are not expected to
> preserve them either, so it all works out (or if they are, the compiler
> will do the right thing).
>
> Or did you have something else in mind?
>
>
> >> Except one
> >> place; does the patch below help?
> >>
> > Don't you need to remove the complete wrapper setup to get a correct
> > result? (And type safety.)
> >
>
> Which wrapper? Do you mean the callee-save function stuff? Or
> something else?
>
> It compiles cleanly for me and appears to work. Does it solve the
> problem for you?
>
> >>> Well, my call stack say something different. It crashs during early
> >>> startup without a console. The modifications to the function pointers is
> >>> done much later.
> >>>
> >> You're right. But you're holding out on me; can I see your backtrace?
> >>
> > Well, I'm traveling and it needs some time to recreate a broken kernel.
> >
> >
> >> And the disassembly of the troublesome code (both the Xen function and
> >> the calling function)?
> >>
> > That is easy.
> >
>
> OK, I see, thanks.
ping - any update about this fix? Since it fixes a real crash it would
be nice to fix this for .32.
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists