diff options
author | marcel <marcel@FreeBSD.org> | 2013-02-16 21:46:27 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2013-02-16 21:46:27 +0000 |
commit | e81aa2332a28f1d3ba2fe04e9265cb19fb0f562f (patch) | |
tree | 31bac2472e002d6f660c1ae993ca267a4ddbe313 | |
parent | 810f5b61cd6892e116965646c4996e0a30289f1b (diff) | |
download | FreeBSD-src-e81aa2332a28f1d3ba2fe04e9265cb19fb0f562f.zip FreeBSD-src-e81aa2332a28f1d3ba2fe04e9265cb19fb0f562f.tar.gz |
Return EFAULT when the address is not a kernel virtual address.
-rw-r--r-- | sys/ia64/ia64/mem.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/ia64/ia64/mem.c b/sys/ia64/ia64/mem.c index 339985d..70dcf7b 100644 --- a/sys/ia64/ia64/mem.c +++ b/sys/ia64/ia64/mem.c @@ -128,6 +128,8 @@ kmemphys: */ addr = trunc_page(v); eaddr = round_page(v + c); + if (addr < VM_MAXUSER_ADDRESS) + return (EFAULT); for (; addr < eaddr; addr += PAGE_SIZE) { if (pmap_kextract(addr) == 0) return (EFAULT); |