summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2001-10-02 18:34:20 +0000
committermjacob <mjacob@FreeBSD.org>2001-10-02 18:34:20 +0000
commit37494cc8006a415d4d03f75cbf66ecb4083f71bb (patch)
tree3392d5d38177dc71e19a4cb1461a68589a0ddff5 /sys/powerpc
parent531fdd5ce2b53bc6d651e40ea25ece37c4abbe42 (diff)
downloadFreeBSD-src-37494cc8006a415d4d03f75cbf66ecb4083f71bb.zip
FreeBSD-src-37494cc8006a415d4d03f75cbf66ecb4083f71bb.tar.gz
Fix problem where a user buffer outside of the area being tested
will be corrupted. PR: 29194 Obtained from: Tor.Egge@fast.no MFC after: 2 weeks
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/aim/vm_machdep.c2
-rw-r--r--sys/powerpc/powerpc/vm_machdep.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/powerpc/aim/vm_machdep.c b/sys/powerpc/aim/vm_machdep.c
index c2110bb..baf59a0 100644
--- a/sys/powerpc/aim/vm_machdep.c
+++ b/sys/powerpc/aim/vm_machdep.c
@@ -218,7 +218,7 @@ vmapbuf(bp)
* Do the vm_fault if needed; do the copy-on-write thing
* when reading stuff off device into memory.
*/
- vm_fault_quick(addr,
+ vm_fault_quick((addr >= bp->b_data) ? addr : bp->b_data,
(bp->b_iocmd == BIO_READ)?(VM_PROT_READ|VM_PROT_WRITE):VM_PROT_READ);
pa = trunc_page(pmap_kextract((vm_offset_t) addr));
if (pa == 0)
diff --git a/sys/powerpc/powerpc/vm_machdep.c b/sys/powerpc/powerpc/vm_machdep.c
index c2110bb..baf59a0 100644
--- a/sys/powerpc/powerpc/vm_machdep.c
+++ b/sys/powerpc/powerpc/vm_machdep.c
@@ -218,7 +218,7 @@ vmapbuf(bp)
* Do the vm_fault if needed; do the copy-on-write thing
* when reading stuff off device into memory.
*/
- vm_fault_quick(addr,
+ vm_fault_quick((addr >= bp->b_data) ? addr : bp->b_data,
(bp->b_iocmd == BIO_READ)?(VM_PROT_READ|VM_PROT_WRITE):VM_PROT_READ);
pa = trunc_page(pmap_kextract((vm_offset_t) addr));
if (pa == 0)
OpenPOWER on IntegriCloud