Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d11cf326 authored by Zhang Yanmin's avatar Zhang Yanmin Committed by Tony Luck
Browse files

[IA64] sys_mmap doesn't follow posix.1 when parameter len=0



In IA64 kernel, sys_mmap calls do_mmap2 and do_mmap2 returns addr if
len=0, which means the mmap sys call succeeds.

Posix.1 says:
The mmap() function shall fail if:
[EINVAL] The value of len is zero. 

Here is a patch to fix it.

Signed-off-by: default avatarZhang Yanmin <yanmin.zhang@intel.com>
Acked-by: default avatarDavid Mosberger <davidm@hpl.hp.com>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent fe12e25e
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -182,13 +182,6 @@ do_mmap2 (unsigned long addr, unsigned long len, int prot, int flags, int fd, un
		}
	}

	/*
	 * A zero mmap always succeeds in Linux, independent of whether or not the
	 * remaining arguments are valid.
	 */
	if (len == 0)
		goto out;

	/* Careful about overflows.. */
	len = PAGE_ALIGN(len);
	if (!len || len > TASK_SIZE) {