Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 May 1997 10:10:38 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        cvs-all@FreeBSD.ORG, CVS-committers@FreeBSD.ORG, cvs-sys@FreeBSD.ORG, peter@FreeBSD.ORG
Subject:   Re: cvs commit:  src/sys/i386/i386 mem.c
Message-ID:  <199705080010.KAA25971@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>  Modified:    sys/i386/i386  mem.c
>  Log:
>  Don't allow access to illegal addresses in /dev/kmem to panic kernel
>  (eg: above 0xffc00000).  Programs using /dev/kmem are implicitly racing
>  the kernel, and can get right up high in memory.  I've been running
>  these for some time now, but with printfs.  It's saved two panics at
>  least that I can remember.

Isn't the bug actually in pmap_extract() and/or kernacc()?

There seem to be some races for reading /dev/kmem in the kernel itself.
uiomove() can block, and there is nothing to keep the pages from becoming
unmapped.  Perhaps all checking should be deferred to copyin()/copyout()
when the pages are actually accessed.  Lazy checking for user pages is
already handled there and works well.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705080010.KAA25971>