mmap: Don't call madvise if mmap fails
Fix improper check of return value from __mmap2. On a failed mmap(), it returns MAP_FAILED, not 0. This ended up clobbering errno when madvise subsequently failed. Change-Id: I364fb2f158fe258c55a73e552195384b2c11c193
This commit is contained in:
parent
c6ac3ae269
commit
553a5ec407
@ -43,8 +43,9 @@ void* mmap(void *addr, size_t size, int prot, int flags, int fd, long offset)
|
||||
|
||||
ret = __mmap2(addr, size, prot, flags, fd, (size_t)offset >> MMAP2_SHIFT);
|
||||
|
||||
if (ret && (flags & (MAP_PRIVATE | MAP_ANONYMOUS)))
|
||||
madvise(ret, size, MADV_MERGEABLE);
|
||||
if ((ret != MAP_FAILED) && (flags & (MAP_PRIVATE | MAP_ANONYMOUS))) {
|
||||
madvise(ret, size, MADV_MERGEABLE);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user