do write back only MAP_SHARED pages

Fix a problem that cause write reference to a MAP_PRIVATE mapping to
change the underlying file.
This commit is contained in:
NAKAMURA Gou
2013-12-19 14:03:08 +09:00
parent 8411f353fe
commit e86ffb0b57

View File

@ -363,7 +363,8 @@ int free_process_memory_range(struct process_vm *vm, struct vm_range *range)
memobj_lock(range->memobj);
}
error = ihk_mc_pt_free_range(vm->page_table,
(void *)start, (void *)end, range->memobj);
(void *)start, (void *)end,
(range->flag & VR_PRIVATE)? NULL: range->memobj);
if (range->memobj) {
memobj_unlock(range->memobj);
}