提交 7a51cffb 编写于 作者: I Ingo Molnar

relayfs: replace BUG() with WARN_ON() in relay_late_setup_files()

Impact: turn boot crash into boot warning

This BUG() can trigger:

[   16.684131] initcall fail_page_alloc_debugfs+0x0/0xc1 returned 0 after 0 usecs
[   16.692035] calling  kmemtrace_setup_late+0x0/0xd5 @ 1
[   16.700087] relay_late_setup_files: CPU 1 has no buffer, it must have!
[   16.704044] ------------[ cut here ]------------
[   16.708030] kernel BUG at kernel/relay.c:680!
[   16.708030] invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC
[   16.708030] last sysfs file:
[   16.708030]
[   16.708030] Pid: 1, comm: swapper Not tainted (2.6.28-tip-03903-g9a39f58-dirty #13207) System Product Name
[   16.708030] EIP: 0060:[<c01604ae>] EFLAGS: 00010246 CPU: 1
[   16.708030] EIP is at relay_late_setup_files+0x8c/0x176

Reduce it to a more reportable WARN_ONCE().
Signed-off-by: NIngo Molnar <mingo@elte.hu>
上级 2a38b1c4
...@@ -675,9 +675,7 @@ int relay_late_setup_files(struct rchan *chan, ...@@ -675,9 +675,7 @@ int relay_late_setup_files(struct rchan *chan,
*/ */
for_each_online_cpu(i) { for_each_online_cpu(i) {
if (unlikely(!chan->buf[i])) { if (unlikely(!chan->buf[i])) {
printk(KERN_ERR "relay_late_setup_files: CPU %u " WARN_ONCE(1, KERN_ERR "CPU has no buffer!\n");
"has no buffer, it must have!\n", i);
BUG();
err = -EINVAL; err = -EINVAL;
break; break;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册