From: Olof Johansson <olof@lixom.net>
To: Arjan van de Ven <arjan@infradead.org>
Cc: linux-kernel@vger.kernel.org, akpm@linux-foundation.org,
heiko.carstens@de.ibm.com, mingo@elte.hu, mpm@selenic.com
Subject: [PATCH] Add bug/warn marker to generic report_bug()
Date: Sun, 6 Jan 2008 14:22:23 -0600 [thread overview]
Message-ID: <20080106202223.GA12640@lixom.net> (raw)
In-Reply-To: <20080105190713.73745ec6@laptopd505.fenrus.org>
Powerpc uses the generic report_bug() from lib/bug.c to report warnings,
and I'm guessing other arches do as well.
Add the module list as well as the end-of-trace marker to the output. This
required making print_oops_end_marker() nonstatic.
Signed-off-by: Olof Johansson <olof@lixom.net>
---
On Sat, Jan 05, 2008 at 07:07:13PM -0800, Arjan van de Ven wrote:
> 3rd try for this patch series; now with a split up patch for __WARN_ON
>
> This series has the goal of extending the usefulness of the WARN_ON() information,
> at least on architectures that use the generic WARN_ON() infrastructure. (Those who
> do their own thing either already have the extra information, or could consider
> switching to the generic code). In order to do that, WARN_ON() first needs to
> be uninlined since there's like 1200 callsites and adding code to each of those
> isn't pretty.
>
> As part of this, I had to split the __WARN_ON patch in -mm into 2 pieces, one to
> introduce __WARN_ON, and a separate one to do the ifdef cleanup.
Looks good. The following patch takes care of the warning printout from
powerpc as well. Unfortunately I had to non-staticfy
print_oops_end_marker().
-Olof
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 94bc996..88d1aa3 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -133,6 +133,7 @@ NORET_TYPE void panic(const char * fmt, ...)
extern void oops_enter(void);
extern void oops_exit(void);
extern int oops_may_print(void);
+extern void print_oops_end_marker(void);
fastcall NORET_TYPE void do_exit(long error_code)
ATTRIB_NORET;
NORET_TYPE void complete_and_exit(struct completion *, long)
diff --git a/kernel/panic.c b/kernel/panic.c
index d9e90cf..0269a7f 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -281,7 +281,7 @@ static int init_oops_id(void)
}
late_initcall(init_oops_id);
-static void print_oops_end_marker(void)
+void print_oops_end_marker(void)
{
init_oops_id();
printk(KERN_WARNING "---[ end trace %016llx ]---\n",
diff --git a/lib/bug.c b/lib/bug.c
index 530f38f..3aa60a5 100644
--- a/lib/bug.c
+++ b/lib/bug.c
@@ -148,7 +148,9 @@ enum bug_trap_type report_bug(unsigned long bugaddr, struct pt_regs *regs)
"[verbose debug info unavailable]\n",
(void *)bugaddr);
+ print_modules();
show_regs(regs);
+ print_oops_end_marker();
return BUG_TRAP_TYPE_WARN;
}
next prev parent reply other threads:[~2008-01-06 20:13 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-06 3:07 [patch 0/5] enhance WARN_ON series Arjan van de Ven
2008-01-06 3:08 ` [patch 1/5] Introduce __WARN() Arjan van de Ven
2008-01-06 11:44 ` Richard Knutsson
2008-01-06 15:42 ` Arjan van de Ven
2008-01-06 16:09 ` Richard Knutsson
2008-01-06 17:10 ` Arjan van de Ven
2008-01-06 17:42 ` Richard Knutsson
2008-01-06 3:09 ` [patch 2/5] move WARN_ON() out of line Arjan van de Ven
2008-01-06 19:40 ` Olof Johansson
2008-01-06 3:10 ` [patch 3/5] Add the end-of-trace marker and the module list to WARN_ON() Arjan van de Ven
2008-01-06 10:04 ` David Woodhouse
2008-01-07 17:31 ` Valdis.Kletnieks
2008-01-06 3:11 ` [patch 4/5] bugh-remove-have_arch_bug--have_arch_warn Arjan van de Ven
2008-01-06 3:12 ` [patch 5/5] PowerPC: switch to generic WARN_ON / BUG_ON Arjan van de Ven
2008-01-06 11:16 ` Benjamin Herrenschmidt
2008-01-06 14:46 ` Olof Johansson
2008-01-06 9:26 ` [patch 0/5] enhance WARN_ON series Ingo Molnar
2008-01-06 20:22 ` Olof Johansson [this message]
2008-01-06 21:38 ` [PATCH] Add bug/warn marker to generic report_bug() Arjan van de Ven
2008-01-07 1:22 ` Olof Johansson
2008-01-07 4:55 ` Arjan van de Ven
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=20080106202223.GA12640@lixom.net \
--to=olof@lixom.net \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=heiko.carstens@de.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mpm@selenic.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.