]> git.hungrycats.org Git - linux/commit
[PATCH] fix remap of shared read only mappings
authorJames Bottomley <james.bottomley@steeleye.com>
Thu, 4 Sep 2003 03:13:28 +0000 (20:13 -0700)
committerLinus Torvalds <torvalds@home.osdl.org>
Thu, 4 Sep 2003 03:13:28 +0000 (20:13 -0700)
commit31412915d5d1de833892ac14d61db02ec8dce625
tree4e71c6c3aa57a25dd9eadd3f4019ad8b609b3821
parentad425cf493fb719430154b5db87242ef3ea6c463
[PATCH] fix remap of shared read only mappings

When mmap MAP_SHARED is done on a file, it gets marked with VM_MAYSHARE
and, if it's read/write, VM_SHARED.  However, if it is remapped with
mremap(), the MAP_SHARED is only passed into the new mapping based on
VM_SHARED.  This means that remapped read only MAP_SHARED mappings lose
VM_MAYSHARE.  This is causing us a problem on parisc because we have to
align all shared mappings carefully to mitigate cache aliasing problems.

The fix is to key passing the MAP_SHARED flag back into the remapped are
off VM_MAYSHARE not VM_SHARED.
mm/mremap.c