diff -r ff5437e4337c -r 48e57fb1237e kernel/eka/memmodel/epoc/multiple/arm/xkernel.cpp --- a/kernel/eka/memmodel/epoc/multiple/arm/xkernel.cpp Wed Oct 06 17:13:14 2010 +0100 +++ b/kernel/eka/memmodel/epoc/multiple/arm/xkernel.cpp Mon Oct 11 17:54:41 2010 +0100 @@ -159,8 +159,9 @@ if(iChunkType==ESharedKernelSingle || iChunkType==ESharedKernelMultiple || iChunkType==ESharedIo || iChunkType==ESharedKernelMirror) { // override map attributes for shared kernel chunks - TUint ma = (iMapAttr &~ EMapAttrAccessMask) | (iChunkType==ESharedKernelMirror?EMapAttrSupRw:EMapAttrUserRw); - TInt r = m.PdePtePermissions(ma, iPdePermissions, iPtePermissions); + TBool kernelMirror = iChunkType == ESharedKernelMirror; + TUint ma = (iMapAttr &~ EMapAttrAccessMask) | ((kernelMirror)? EMapAttrSupRw : EMapAttrUserRw); + TInt r = m.PdePtePermissions(ma, iPdePermissions, iPtePermissions, kernelMirror); if (r != KErrNone) return r; iMapAttr = ma;