diff options
Diffstat (limited to 'arch/mips/kernel/syscall.c')
| -rw-r--r-- | arch/mips/kernel/syscall.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c index 55f2bc09529..2aeaa2fd4b3 100644 --- a/arch/mips/kernel/syscall.c +++ b/arch/mips/kernel/syscall.c @@ -162,7 +162,10 @@ asmlinkage unsigned long  sys_mmap2(unsigned long addr, unsigned long len, unsigned long prot,            unsigned long flags, unsigned long fd, unsigned long pgoff)  { -	return do_mmap2(addr, len, prot, flags, fd, pgoff); +	if (pgoff & (~PAGE_MASK >> 12)) +		return -EINVAL; + +	return do_mmap2(addr, len, prot, flags, fd, pgoff >> (PAGE_SHIFT-12));  }  save_static_function(sys_fork);  |