From e86ffb0b57da12c2506ee01a37c78d76e3ef6d39 Mon Sep 17 00:00:00 2001 From: NAKAMURA Gou Date: Thu, 19 Dec 2013 14:03:08 +0900 Subject: [PATCH] do write back only MAP_SHARED pages Fix a problem that cause write reference to a MAP_PRIVATE mapping to change the underlying file. --- kernel/process.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/process.c b/kernel/process.c index adb53958..5afc144b 100644 --- a/kernel/process.c +++ b/kernel/process.c @@ -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); }