forked from Minki/linux
[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:
parent
6b7aaad9ba
commit
6edf428ed1
@ -227,9 +227,16 @@ void bad_segv(struct faultinfo fi, unsigned long ip)
|
|||||||
|
|
||||||
void relay_signal(int sig, union uml_pt_regs *regs)
|
void relay_signal(int sig, union uml_pt_regs *regs)
|
||||||
{
|
{
|
||||||
if(arch_handle_signal(sig, regs)) return;
|
if(arch_handle_signal(sig, regs))
|
||||||
if(!UPT_IS_USER(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);
|
panic("Kernel mode signal %d", sig);
|
||||||
|
}
|
||||||
|
|
||||||
current->thread.arch.faultinfo = *UPT_FAULTINFO(regs);
|
current->thread.arch.faultinfo = *UPT_FAULTINFO(regs);
|
||||||
force_sig(sig, current);
|
force_sig(sig, current);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user