From: Jason Baron <jbaron@redhat.com>, rth@redhat.com
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: rostedt@goodmis.org, mingo@elte.hu, mathieu.desnoyers@polymtl.ca,
tglx@linutronix.de, andi@firstfloor.org, roland@redhat.com,
masami.hiramatsu.pt@hitachi.com, fweisbec@gmail.com,
avi@redhat.com, davem@davemloft.net, vgoyal@redhat.com,
sam@ravnborg.org, tony@bakeyournoodle.com,
ddaney@caviumnetworks.com, dsd@laptop.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] jump label: disable due to compiler bug
Date: Thu, 28 Oct 2010 10:17:57 -0400 [thread overview]
Message-ID: <20101028141757.GA2875@redhat.com> (raw)
In-Reply-To: <ce4ff595-f9d1-4c17-b68e-82739b07ad3e@email.android.com>
On Wed, Oct 27, 2010 at 03:21:55PM -0700, H. Peter Anvin wrote:
> Could you detail the bug, please? static_cpu_has() also uses asm goto.
>
It seems that gcc can leave the stack in an inconsistent state.
I only saw this in the 'jmp' enabled case, I'm not sure if it can occur in the
straight-line code path as well.
thanks,
-Jason
> "Jason Baron" <jbaron@redhat.com> wrote:
>
> >Unfortunately, we found a compiler bug in the implementation of
> >'asm goto'. The bug can cause the kernel to crash.
> >
> >For now, we are disabling jump labels with a big hammer. When the
> >gcc fix is committed, we will update the kernel with a better check
> >for either the version number it's fix in, or some detection of
> >whether gcc has the fix in place.
> >
> >Signed-off-by: Jason Baron <jbaron@redhat.com>
> >---
> > include/linux/jump_label.h | 9 +++++++++
> > 1 files changed, 9 insertions(+), 0 deletions(-)
> >
> >diff --git a/include/linux/jump_label.h b/include/linux/jump_label.h
> >index b67cb18..954462a 100644
> >--- a/include/linux/jump_label.h
> >+++ b/include/linux/jump_label.h
> >@@ -1,11 +1,20 @@
> > #ifndef _LINUX_JUMP_LABEL_H
> > #define _LINUX_JUMP_LABEL_H
> >
> >+/*
> >+ * A compiler bug was found in the implementation of 'asm goto'. Thus,
> >+ * we are disabling it for now pending a better check for compiler
> >version
> >+ * that fixes it.
> >+ */
> >+#if 0
> >+
> > #if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_HAVE_ARCH_JUMP_LABEL)
> > # include <asm/jump_label.h>
> > # define HAVE_JUMP_LABEL
> > #endif
> >
> >+#endif
> >+
> > enum jump_label_type {
> > JUMP_LABEL_ENABLE,
> > JUMP_LABEL_DISABLE
> >--
> >1.7.1
>
> --
> Sent from my mobile phone. Please pardon any lack of formatting.
next prev parent reply other threads:[~2010-10-28 14:18 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-27 21:07 [PATCH 0/2] jump label updates Jason Baron
2010-10-27 21:07 ` [PATCH 1/2] move arch_init_ideal_nop5 later Jason Baron
2010-10-27 22:24 ` H. Peter Anvin
2010-10-28 2:11 ` Steven Rostedt
2010-10-28 2:59 ` H. Peter Anvin
2010-10-27 21:07 ` [PATCH 2/2] jump label: disable due to compiler bug Jason Baron
2010-10-27 22:21 ` H. Peter Anvin
2010-10-28 14:17 ` Jason Baron, rth [this message]
2010-10-28 18:55 ` David Daney
2010-10-28 20:11 ` Jason Baron
2010-10-29 6:34 ` Ingo Molnar
2010-10-29 12:18 ` Steven Rostedt
2010-10-29 12:22 ` Ingo Molnar
2010-10-29 12:46 ` Steven Rostedt
2010-10-29 13:10 ` Ingo Molnar
2010-10-29 13:35 ` Mathieu Desnoyers
2010-10-29 16:18 ` Steven Rostedt
2010-10-29 17:18 ` David Daney
2010-10-29 17:33 ` Steven Rostedt
2010-10-29 17:48 ` David Daney
2010-10-29 18:03 ` Steven Rostedt
2010-10-29 18:13 ` Richard Henderson
2010-10-29 18:25 ` Steven Rostedt
2010-10-29 20:15 ` H. Peter Anvin
2010-10-29 20:42 ` Mathieu Desnoyers
2010-10-29 20:47 ` Steven Rostedt
2010-10-29 20:51 ` H. Peter Anvin
2010-10-29 20:58 ` Steven Rostedt
2010-10-30 7:47 ` Andi Kleen
2010-10-30 14:00 ` Steven Rostedt
2010-10-29 20:05 ` Mathieu Desnoyers
2010-10-29 20:44 ` Steven Rostedt
2010-10-29 15:59 ` Richard Henderson
2010-10-27 21:15 ` [PATCH 0/2] jump label updates David Miller
2010-10-28 1:33 ` Steven Rostedt
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=20101028141757.GA2875@redhat.com \
--to=jbaron@redhat.com \
--cc=andi@firstfloor.org \
--cc=avi@redhat.com \
--cc=davem@davemloft.net \
--cc=ddaney@caviumnetworks.com \
--cc=dsd@laptop.org \
--cc=fweisbec@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mathieu.desnoyers@polymtl.ca \
--cc=mingo@elte.hu \
--cc=roland@redhat.com \
--cc=rostedt@goodmis.org \
--cc=rth@redhat.com \
--cc=sam@ravnborg.org \
--cc=tglx@linutronix.de \
--cc=tony@bakeyournoodle.com \
--cc=vgoyal@redhat.com \
/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