diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-01-12 16:45:26 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-01-12 16:45:26 +0000 |
commit | 9807134aa8d672508c00c5979b471c50767a4a58 (patch) | |
tree | e9160bab39fc6bc72b1cad6589855a74bd436f02 /sys/arch/mvme68k | |
parent | 7d1dbee8e40acdc6772a2bc6c608dd3f8f592813 (diff) |
SIGBUS is an alignment fault. SIGSEGV is an access violation
Diffstat (limited to 'sys/arch/mvme68k')
-rw-r--r-- | sys/arch/mvme68k/mvme68k/trap.c | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/sys/arch/mvme68k/mvme68k/trap.c b/sys/arch/mvme68k/mvme68k/trap.c index 3c81ef7b474..2b0e8fcd1f9 100644 --- a/sys/arch/mvme68k/mvme68k/trap.c +++ b/sys/arch/mvme68k/mvme68k/trap.c @@ -1,4 +1,4 @@ -/* $Id: trap.c,v 1.4 1995/11/23 13:14:31 deraadt Exp $ */ +/* $Id: trap.c,v 1.5 1996/01/12 16:45:14 deraadt Exp $ */ /* * Copyright (c) 1995 Theo de Raadt @@ -611,7 +611,7 @@ copyfault: goto dopanic; } ucode = v; - i = (rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV; + i = SIGSEGV; break; } } @@ -867,22 +867,10 @@ writeback(fp, docachepush) } p->p_addr->u_pcb.pcb_onfault = oonfault; /* - * Determine the cause of the failure if any translating to - * a signal. If the corresponding VA is valid and RO it is - * a protection fault (SIGBUS) otherwise consider it an - * illegal reference (SIGSEGV). + * Any problems are SIGSEGV's */ - if (err) { - if (vm_map_check_protection(&p->p_vmspace->vm_map, - trunc_page(fa), round_page(fa), - VM_PROT_READ) && - !vm_map_check_protection(&p->p_vmspace->vm_map, - trunc_page(fa), round_page(fa), - VM_PROT_WRITE)) - err = SIGBUS; - else - err = SIGSEGV; - } + if (err) + err = SIGSEGV; return(err); } |