When copyin/out or copyin/outstr catches a pagefault, have it return the
correct error code (provided by the fault handler in R0) rather than always returning EFAULT.
This commit is contained in:
parent
664bea62e3
commit
2e026f9f8c
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: bcopyinout.S,v 1.1 2002/08/11 21:19:12 bjh21 Exp $ */
|
||||
/* $NetBSD: bcopyinout.S,v 1.2 2002/08/12 20:34:47 bjh21 Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2002 Wasabi Systems, Inc.
|
||||
@ -269,8 +269,6 @@ Liout:
|
||||
mov pc, lr
|
||||
|
||||
Lcopyfault:
|
||||
mov r0, #EFAULT
|
||||
|
||||
str r5, [r4, #PCB_ONFAULT]
|
||||
RESTORE_REGS
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: copystr.S,v 1.1 2002/08/11 23:17:25 bjh21 Exp $ */
|
||||
/* $NetBSD: copystr.S,v 1.2 2002/08/12 20:34:47 bjh21 Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1995 Mark Brinicombe.
|
||||
@ -184,10 +184,9 @@ ENTRY(copyoutstr)
|
||||
|
||||
/* A fault occurred during the copy */
|
||||
Lcopystrfault:
|
||||
mov r0, #0x00000000
|
||||
str r0, [r4, #PCB_ONFAULT]
|
||||
mov r1, #0x00000000
|
||||
str r1, [r4, #PCB_ONFAULT]
|
||||
RESTORE_REGS
|
||||
mov r0, #EFAULT
|
||||
mov pc, lr
|
||||
|
||||
#ifdef DIAGNOSTIC
|
||||
|
Loading…
Reference in New Issue
Block a user