aboutsummaryrefslogtreecommitdiffstats
path: root/libtest/mmap.c
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-05-12 21:22:54 +0200
committerMattias Andrée <m@maandree.se>2026-05-12 21:22:54 +0200
commitfc0b70a60407e1e65610712a702f8286db3a328c (patch)
tree05f42c75245c1160c4bf7a7d391de7a16b109c83 /libtest/mmap.c
parentMisc (diff)
downloadlibrecrypt-fc0b70a60407e1e65610712a702f8286db3a328c.tar.gz
librecrypt-fc0b70a60407e1e65610712a702f8286db3a328c.tar.bz2
librecrypt-fc0b70a60407e1e65610712a702f8286db3a328c.tar.xz
Work on test code
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'libtest/mmap.c')
-rw-r--r--libtest/mmap.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/libtest/mmap.c b/libtest/mmap.c
index 62ef06e..c3b3067 100644
--- a/libtest/mmap.c
+++ b/libtest/mmap.c
@@ -24,6 +24,7 @@ void *
libtest_real_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off)
{
size_t pagesize = libtest_get_pagesize();
+ uintptr_t ret;
IF_MMAP2(assert(pagesize == 4096u));
if (off < 0 || off % (off_t)pagesize)
@@ -34,10 +35,11 @@ libtest_real_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off
goto einval;
#ifdef SYS_mmap2
- return (void *)syscall(SYS_mmap2, addr, len, prot, flags, fd, off);
+ ret = (uintptr_t)syscall(SYS_mmap2, addr, len, prot, flags, fd, off);
#else
- return (void *)syscall(SYS_mmap, addr, len, prot, flags, fd, off);
+ ret = (uintptr_t)syscall(SYS_mmap, addr, len, prot, flags, fd, off);
#endif
+ return (void *)ret;
einval:
errno = EINVAL;
@@ -48,7 +50,7 @@ einval:
int
libtest_real_munmap(void *addr, size_t len)
{
- return syscall(SYS_munmap, addr, len);
+ return (int)syscall(SYS_munmap, addr, len);
}
@@ -57,6 +59,7 @@ libtest_real_mremap(void *old_addr, size_t old_len, size_t new_len, int flags, .
{
va_list args;
void *new_addr = NULL;
+ uintptr_t ret;
if (flags & MREMAP_FIXED) {
va_start(args, flags);
@@ -64,7 +67,8 @@ libtest_real_mremap(void *old_addr, size_t old_len, size_t new_len, int flags, .
va_end(args);
}
- return (void *)syscall(SYS_mremap, old_addr, old_len, new_len, flags, new_addr);
+ ret = (uintptr_t)syscall(SYS_mremap, old_addr, old_len, new_len, flags, new_addr);
+ return (void *)ret;
}