1
1

Fix mmap infinite recurse in memory patcher

This commit fixes issue  by removing
MacOS/Darwin-specific logic from intercept_mmap.

Signed-off-by: Harumi Kuno <harumi.kuno@hpe.com>
Этот коммит содержится в:
Harumi Kuno 2019-07-30 06:32:27 -07:00
родитель 2d515f747f
Коммит fbbacc1303
2 изменённых файлов: 0 добавлений и 9 удалений

@ -40,10 +40,6 @@ AC_DEFUN([MCA_opal_memory_patcher_CONFIG],[
AC_CHECK_HEADERS([linux/mman.h sys/syscall.h])
AC_CHECK_DECLS([__mmap], [], [], [#include <sys/mman.h>])
AC_CHECK_FUNCS([__mmap])
AC_CHECK_DECLS([__syscall], [], [], [#include <sys/syscall.h>])
AC_CHECK_FUNCS([__syscall])

@ -125,12 +125,7 @@ static void *_intercept_mmap(void *start, size_t length, int prot, int flags, in
}
if (!original_mmap) {
#ifdef HAVE___MMAP
/* the darwin syscall returns an int not a long so call the underlying __mmap function */
result = __mmap (start, length, prot, flags, fd, offset);
#else
result = (void*)(intptr_t) memory_patcher_syscall(SYS_mmap, start, length, prot, flags, fd, offset);
#endif
} else {
result = original_mmap (start, length, prot, flags, fd, offset);
}