From c13cb7a92c1b6d3be590950b075b5cb7104132b6 Mon Sep 17 00:00:00 2001 From: guy fleury iteriteka Date: Fri, 30 Aug 2019 18:52:33 +0200 Subject: [PATCH] Fix vm_map_msync:Force return KERN_INVALID_ARGUMENT and fix sync_flags flags check. * vm/vm_map.c(vm_map_msync): Force to return when map == VM_MAP_NULL and sync_flags == VM_SYNC_ASYNCHRONOUS | VM_SYNC_SYNCHRONOUS. * vm/vm_map.c(vm_map_msync): remove unnecesary check of sync_flags. --- vm/vm_map.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/vm/vm_map.c b/vm/vm_map.c index aadaec1..37dd070 100644 --- a/vm/vm_map.c +++ b/vm/vm_map.c @@ -4880,12 +4880,11 @@ kern_return_t vm_map_msync( vm_size_t size, vm_sync_t sync_flags) { - if (map == VM_MAP_NULL) - KERN_INVALID_ARGUMENT; - - if (sync_flags & (VM_SYNC_ASYNCHRONOUS | VM_SYNC_SYNCHRONOUS) == - (VM_SYNC_ASYNCHRONOUS | VM_SYNC_SYNCHRONOUS)) - KERN_INVALID_ARGUMENT; + if (map == VM_MAP_NULL) + return KERN_INVALID_ARGUMENT; + + if (sync_flags & (VM_SYNC_ASYNCHRONOUS | VM_SYNC_SYNCHRONOUS)) + return KERN_INVALID_ARGUMENT; size = round_page(address + size) - trunc_page(address); address = trunc_page(address); -- 2.22.0