[PATCH] uml: Improve SIGBUS diagnostics

UML can get a SIGBUS anywhere if the tmpfs mount being used for its memory
runs out of space.  This patch adds a printk before the panic to provide a
clue as to what likely went wrong.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Jeff Dike 2006-09-25 23:33:03 -07:00 committed by Linus Torvalds
parent 6b7aaad9ba
commit 6edf428ed1

View File

@ -227,9 +227,16 @@ void bad_segv(struct faultinfo fi, unsigned long ip)
void relay_signal(int sig, union uml_pt_regs *regs)
{
if(arch_handle_signal(sig, regs)) return;
if(!UPT_IS_USER(regs))
if(arch_handle_signal(sig, regs))
return;
if(!UPT_IS_USER(regs)){
if(sig == SIGBUS)
printk("Bus error - the /dev/shm or /tmp mount likely "
"just ran out of space\n");
panic("Kernel mode signal %d", sig);
}
current->thread.arch.faultinfo = *UPT_FAULTINFO(regs);
force_sig(sig, current);
}