From cafe93ea15b003bfa12234a0cd651ad0602a8223 Mon Sep 17 00:00:00 2001 From: Jeff Dike Date: Mon, 25 Sep 2006 23:33:03 -0700 Subject: [PATCH] --- yaml --- r: 35701 b: refs/heads/master c: 6edf428ed177e333863a8e5c37751a9ec176f241 h: refs/heads/master i: 35699: 33a39e1133712e4eadc197dc9b23695360a55595 v: v3 --- [refs] | 2 +- trunk/arch/um/kernel/trap.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 07c2d6f81bae..d2ea1749aebe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6b7aaad9ba4f2a059a70014be12a921eceebfc47 +refs/heads/master: 6edf428ed177e333863a8e5c37751a9ec176f241 diff --git a/trunk/arch/um/kernel/trap.c b/trunk/arch/um/kernel/trap.c index ac70fa5a2e2a..e5eeaf2b6af1 100644 --- a/trunk/arch/um/kernel/trap.c +++ b/trunk/arch/um/kernel/trap.c @@ -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); }