diff options
Diffstat (limited to 'arch/mips/kernel/linux32.c')
| -rw-r--r-- | arch/mips/kernel/linux32.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c index 1e8d24823d3..013bc93688e 100644 --- a/arch/mips/kernel/linux32.c +++ b/arch/mips/kernel/linux32.c @@ -106,6 +106,10 @@ sys32_mmap2(unsigned long addr, unsigned long len, unsigned long prot,  	unsigned long error;  	error = -EINVAL; +	if (pgoff & (~PAGE_MASK >> 12)) +		goto out; +	pgoff >>= PAGE_SHIFT-12; +  	if (!(flags & MAP_ANONYMOUS)) {  		error = -EBADF;  		file = fget(fd);  |