From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: stable-review@kernel.org, torvalds@linux-foundation.org,
akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
"David S. Miller" <davem@davemloft.net>
Subject: [patch 09/22] sparc64: Fix bootup with mcount in some configs.
Date: Thu, 10 Sep 2009 17:22:55 -0700 [thread overview]
Message-ID: <20090911002410.310962876@mini.kroah.org> (raw)
In-Reply-To: <20090911002616.GA12087@kroah.com>
[-- Attachment #1: sparc64-fix-bootup-with-mcount-in-some-configs.patch --]
[-- Type: text/plain, Size: 2593 bytes --]
2.6.30-stable review patch. If anyone has any objections, please let us know.
------------------
From: David S. Miller <davem@davemloft.net>
[ Upstream commit bd4352cadfacb9084c97c853b025fac010266c26 ]
Functions invoked early when booting up a cpu can't use
tracing because mcount requires a valid 'current_thread_info()'
and TLB mappings to be setup.
The code path of sun4v_register_mondo_queues --> register_one_mondo
is one such case. sun4v_register_mondo_queues already has the
necessary 'notrace' annotation, but register_one_mondo does not.
Normally register_one_mondo is inlined so the bug doesn't trigger,
but with some config/compiler combinations, it won't be so we
must properly mark it notrace.
While we're here, add 'notrace' annoations to prom_printf and
prom_halt so that early error handling won't have the same problem.
Reported-by: Alexander Beregalov <a.beregalov@gmail.com>
Reported-by: Leif Sawyer <lsawyer@gci.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
arch/sparc/kernel/irq_64.c | 2 +-
arch/sparc/prom/misc_64.c | 2 +-
arch/sparc/prom/printf.c | 7 +++----
3 files changed, 5 insertions(+), 6 deletions(-)
--- a/arch/sparc/kernel/irq_64.c
+++ b/arch/sparc/kernel/irq_64.c
@@ -902,7 +902,7 @@ void notrace init_irqwork_curcpu(void)
* Therefore you cannot make any OBP calls, not even prom_printf,
* from these two routines.
*/
-static void __cpuinit register_one_mondo(unsigned long paddr, unsigned long type, unsigned long qmask)
+static void __cpuinit notrace register_one_mondo(unsigned long paddr, unsigned long type, unsigned long qmask)
{
unsigned long num_entries = (qmask + 1) / 64;
unsigned long status;
--- a/arch/sparc/prom/misc_64.c
+++ b/arch/sparc/prom/misc_64.c
@@ -88,7 +88,7 @@ void prom_cmdline(void)
/* Drop into the prom, but completely terminate the program.
* No chance of continuing.
*/
-void prom_halt(void)
+void notrace prom_halt(void)
{
#ifdef CONFIG_SUN_LDOMS
if (ldom_domaining_enabled)
--- a/arch/sparc/prom/printf.c
+++ b/arch/sparc/prom/printf.c
@@ -14,14 +14,14 @@
*/
#include <linux/kernel.h>
+#include <linux/compiler.h>
#include <asm/openprom.h>
#include <asm/oplib.h>
static char ppbuf[1024];
-void
-prom_write(const char *buf, unsigned int n)
+void notrace prom_write(const char *buf, unsigned int n)
{
char ch;
@@ -33,8 +33,7 @@ prom_write(const char *buf, unsigned int
}
}
-void
-prom_printf(const char *fmt, ...)
+void notrace prom_printf(const char *fmt, ...)
{
va_list args;
int i;
next prev parent reply other threads:[~2009-09-11 0:32 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20090911002246.666327880@mini.kroah.org>
2009-09-11 0:26 ` [patch 00/22] 2.6.30.7-stable review Greg KH
2009-09-11 0:22 ` [patch 01/22] dccp: missing destroy of percpu counter variable while unload module Greg KH
2009-09-11 0:22 ` [patch 02/22] E100: fix interaction with swiotlb on X86 Greg KH
2009-09-11 0:22 ` [patch 03/22] gre: Fix MTU calculation for bound GRE tunnels Greg KH
2009-09-11 0:22 ` [patch 04/22] ppp: fix lost fragments in ppp_mp_explode() (resubmit) Greg KH
2009-09-11 0:22 ` [patch 05/22] pppol2tp: calls unregister_pernet_gen_device() at unload time Greg KH
2009-09-11 0:22 ` [patch 06/22] net: net_assign_generic() fix Greg KH
2009-09-11 0:22 ` [patch 07/22] sparc64: Kill spurious NMI watchdog triggers by increasing limit to 30 seconds Greg KH
2009-09-11 0:22 ` [patch 08/22] sparc64: Validate linear D-TLB misses Greg KH
2009-09-11 0:22 ` Greg KH [this message]
2009-09-11 0:22 ` [patch 10/22] sparc: sys32.S incorrect compat-layer splice() system call Greg KH
2009-09-11 0:22 ` [patch 11/22] JFFS2: add missing verify buffer allocation/deallocation Greg KH
2009-09-11 0:22 ` [patch 12/22] slub: Fix kmem_cache_destroy() with SLAB_DESTROY_BY_RCU Greg KH
2009-09-11 0:22 ` [patch 13/22] nilfs2: fix preempt count underflow in nilfs_btnode_prepare_change_key Greg KH
2009-09-11 0:23 ` [patch 14/22] PCI SR-IOV: correct broken resource alignment calculations Greg KH
2009-09-11 0:23 ` [patch 15/22] SCSI: sd: fix bug in SCSI async probing Greg KH
2009-09-11 0:23 ` [patch 16/22] sound: oxygen: handle cards with missing EEPROM Greg KH
2009-09-11 0:23 ` [patch 17/22] sound: oxygen: fix MCLK rate for 192 kHz playback Greg KH
2009-09-11 0:23 ` [patch 18/22] dm raid1: do not allow log_failure variable to unset after being set Greg KH
2009-09-11 0:23 ` [patch 19/22] dm snapshot: refactor zero_disk_area to use chunk_io Greg KH
2009-09-11 0:23 ` [patch 20/22] dm snapshot: fix header corruption race on invalidation Greg KH
2009-09-11 0:23 ` [patch 21/22] dm exception store: split set_chunk_size Greg KH
2009-09-11 0:23 ` [patch 22/22] dm snapshot: fix on disk chunk size validation Greg KH
2009-09-11 5:19 ` [patch 00/22] 2.6.30.7-stable review Dmitry Torokhov
2009-09-11 15:31 ` [stable] " Greg KH
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=20090911002410.310962876@mini.kroah.org \
--to=gregkh@suse.de \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=stable-review@kernel.org \
--cc=stable@kernel.org \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox