Эх сурвалжийг харах

arch_mmap_check() on mn10300

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 16 жил өмнө
parent
commit
564b3bffc6

+ 5 - 0
arch/mn10300/include/asm/mman.h

@@ -1 +1,6 @@
 #include <asm-generic/mman.h>
 #include <asm-generic/mman.h>
+
+#define MIN_MAP_ADDR	PAGE_SIZE	/* minimum fixed mmap address */
+
+#define arch_mmap_check(addr, len, flags) \
+	(((flags) & MAP_FIXED && (addr) < MIN_MAP_ADDR) ? -EINVAL : 0)

+ 0 - 5
arch/mn10300/kernel/sys_mn10300.c

@@ -23,8 +23,6 @@
 
 
 #include <asm/uaccess.h>
 #include <asm/uaccess.h>
 
 
-#define MIN_MAP_ADDR	PAGE_SIZE	/* minimum fixed mmap address */
-
 /*
 /*
  * memory mapping syscall
  * memory mapping syscall
  */
  */
@@ -37,9 +35,6 @@ asmlinkage long sys_mmap2(unsigned long addr, unsigned long len,
 
 
 	flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
 	flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
 
 
-	if (flags & MAP_FIXED && addr < MIN_MAP_ADDR)
-		goto out;
-
 	error = -EBADF;
 	error = -EBADF;
 	if (!(flags & MAP_ANONYMOUS)) {
 	if (!(flags & MAP_ANONYMOUS)) {
 		file = fget(fd);
 		file = fget(fd);