about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/unix/sysv/linux/i386/mmap.S2
-rw-r--r--sysdeps/unix/sysv/linux/i386/mmap64.S2
3 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 3267ddb64d..372c3cb218 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2000-08-25  Ulrich Drepper  <drepper@redhat.com>
 
+	* sysdeps/unix/sysv/linux/i386/mmap.S (__mmap): Return -EINVAL
+	even if bits 10 a 11 are non-zero.
+	* sysdeps/unix/sysv/linux/i386/mmap64.S (__mmap64): Likewise.
+
 	* Makeconfig: Ensures the soversions.mk part of Makefile gets
 	included before building gnu/lib-names.h
 	Patch by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
diff --git a/sysdeps/unix/sysv/linux/i386/mmap.S b/sysdeps/unix/sysv/linux/i386/mmap.S
index 46d26125a5..8010b53f84 100644
--- a/sysdeps/unix/sysv/linux/i386/mmap.S
+++ b/sysdeps/unix/sysv/linux/i386/mmap.S
@@ -42,7 +42,7 @@ ENTRY (__mmap)
 	movl 32(%esp), %esi
 	movl 36(%esp), %edi
 	movl 40(%esp), %ebp
-	testl $0x3ff, %ebp
+	testl $0xfff, %ebp
 	movl $-EINVAL, %eax
 	jne L(skip)
 	shrl $12, %ebp			/* mmap2 takes the offset in pages.  */
diff --git a/sysdeps/unix/sysv/linux/i386/mmap64.S b/sysdeps/unix/sysv/linux/i386/mmap64.S
index 349d3501c6..c2a2955eda 100644
--- a/sysdeps/unix/sysv/linux/i386/mmap64.S
+++ b/sysdeps/unix/sysv/linux/i386/mmap64.S
@@ -48,7 +48,7 @@ ENTRY (BP_SYM (__mmap64))
 
 	movl OFFLO(%esp), %edx
 	movl OFFHI(%esp), %ecx
-	testl $0x3ff, %edx
+	testl $0xfff, %edx
 	jne L(einval)
 	shrdl $12, %ecx, %edx		/* mmap2 takes the offset in pages.  */
 	shrl $12, %ecx