mmap(2) with MAP_ANON honouring offset although it shouldn't

Alexander Best alexbestms at math.uni-muenster.de
Sun Nov 8 02:19:15 UTC 2009


no problem. i've sent the final patch as followup to kern/71258 and also
attached it to this message. to make it short. what's being changed by the
patch:

1) if MAP_ANON is defined and offset !=0  ====>  return EINVAL
2) if MAP_STACK is defined and offset !=0   ====>  offset = 0

would be great if you could have a look at the patch if you've got a spare
minute.

cheers.
alex
-------------- next part --------------
Index: sys/vm/vm_mmap.c
===================================================================
--- sys/vm/vm_mmap.c	(revision 199016)
+++ sys/vm/vm_mmap.c	(working copy)
@@ -244,6 +244,9 @@
 		pos = 0;
 	}
 
+	if (flags & MAP_ANON && pos != 0)
+		return (EINVAL);
+
 	/*
 	 * Align the file position to a page boundary,
 	 * and save its page offset component.
@@ -300,7 +303,6 @@
 		handle = NULL;
 		handle_type = OBJT_DEFAULT;
 		maxprot = VM_PROT_ALL;
-		pos = 0;
 	} else {
 		/*
 		 * Mapping file, get fp for validation and


More information about the freebsd-hackers mailing list