From: Tomas Hruby Date: Wed, 15 Sep 2010 14:11:19 +0000 (+0000) Subject: SMP - Make sure that VM does not change pt of a process while kernel copies X-Git-Tag: v3.2.0~841 X-Git-Url: http://zhaoyanbai.com/repos/Bv9ARM.ch10.html?a=commitdiff_plain;h=421f324baaad9c67a11effd3303237139da7d3d0;p=minix.git SMP - Make sure that VM does not change pt of a process while kernel copies --- diff --git a/kernel/arch/i386/memory.c b/kernel/arch/i386/memory.c index e1307df69..3650e900d 100644 --- a/kernel/arch/i386/memory.c +++ b/kernel/arch/i386/memory.c @@ -159,6 +159,8 @@ PRIVATE int lin_lin_copy(const struct proc *srcproc, vir_bytes srclinaddr, if(dstproc) assert(!RTS_ISSET(dstproc, RTS_SLOT_FREE)); assert(!RTS_ISSET(get_cpulocal_var(ptproc), RTS_SLOT_FREE)); assert(get_cpulocal_var(ptproc)->p_seg.p_cr3_v); + if(srcproc) assert(!RTS_ISSET(srcproc, RTS_VMINHIBIT)); + if(dstproc) assert(!RTS_ISSET(dstproc, RTS_VMINHIBIT)); while(bytes > 0) { phys_bytes srcptr, dstptr;