From f4d6143427edead6c65c091be9e07ad67cc0301e Mon Sep 17 00:00:00 2001 From: Keith Bostic Date: Mon, 28 Mar 1994 15:07:28 -0800 Subject: [PATCH] fix address bounds check From: ralphc@pyramid.com (Ralph Campbell) SCCS-vsn: sys/pmax/pmax/mem.c 8.2 --- usr/src/sys/pmax/pmax/mem.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/usr/src/sys/pmax/pmax/mem.c b/usr/src/sys/pmax/pmax/mem.c index dc74a49593..a921a1642e 100644 --- a/usr/src/sys/pmax/pmax/mem.c +++ b/usr/src/sys/pmax/pmax/mem.c @@ -11,7 +11,7 @@ * * from: Utah $Hdr: mem.c 1.14 90/10/12$ * - * @(#)mem.c 8.1 (Berkeley) %G% + * @(#)mem.c 8.2 (Berkeley) %G% */ /* @@ -59,10 +59,11 @@ mmrw(dev, uio, flags) case 0: v = (u_long)uio->uio_offset; c = iov->iov_len; - if (v + c >= physmem) + if (v + c <= btoc(physmem)) + v += MACH_CACHED_MEMORY_ADDR; + else return (EFAULT); - error = uiomove((caddr_t)(MACH_CACHED_MEMORY_ADDR + v), - (int)c, uio); + error = uiomove((caddr_t)v, (int)c, uio); continue; /* minor device 1 is kernel memory */ -- 2.20.1