diff options
author | mjacob <mjacob@FreeBSD.org> | 2001-10-02 18:34:20 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2001-10-02 18:34:20 +0000 |
commit | 37494cc8006a415d4d03f75cbf66ecb4083f71bb (patch) | |
tree | 3392d5d38177dc71e19a4cb1461a68589a0ddff5 /sys | |
parent | 531fdd5ce2b53bc6d651e40ea25ece37c4abbe42 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/alpha/alpha/vm_machdep.c | 2 | ||||
-rw-r--r-- | sys/amd64/amd64/vm_machdep.c | 2 | ||||
-rw-r--r-- | sys/i386/i386/vm_machdep.c | 2 | ||||
-rw-r--r-- | sys/ia64/ia64/vm_machdep.c | 2 | ||||
-rw-r--r-- | sys/powerpc/aim/vm_machdep.c | 2 | ||||
-rw-r--r-- | sys/powerpc/powerpc/vm_machdep.c | 2 |
6 files changed, 6 insertions, 6 deletions
diff --git a/sys/alpha/alpha/vm_machdep.c b/sys/alpha/alpha/vm_machdep.c index 6e302cd..076139d 100644 --- a/sys/alpha/alpha/vm_machdep.c +++ b/sys/alpha/alpha/vm_machdep.c @@ -303,7 +303,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/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c index 573e1f1..2a1dc22 100644 --- a/sys/amd64/amd64/vm_machdep.c +++ b/sys/amd64/amd64/vm_machdep.c @@ -357,7 +357,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/i386/i386/vm_machdep.c b/sys/i386/i386/vm_machdep.c index 573e1f1..2a1dc22 100644 --- a/sys/i386/i386/vm_machdep.c +++ b/sys/i386/i386/vm_machdep.c @@ -357,7 +357,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/ia64/ia64/vm_machdep.c b/sys/ia64/ia64/vm_machdep.c index 8821953..81c5c4a 100644 --- a/sys/ia64/ia64/vm_machdep.c +++ b/sys/ia64/ia64/vm_machdep.c @@ -356,7 +356,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/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) |