Skip to content

Commit 81a9166

Browse files
committed
reuse code for memory_map_mte
This drops the separate error message since that doesn't seem useful.
1 parent e86192e commit 81a9166

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

memory.c

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
#include "memory.h"
1818
#include "util.h"
1919

20-
void *memory_map(size_t size) {
21-
void *p = mmap(NULL, size, PROT_NONE, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
20+
static void *memory_map_prot(size_t size, int prot) {
21+
void *p = mmap(NULL, size, prot, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
2222
if (unlikely(p == MAP_FAILED)) {
2323
if (errno != ENOMEM) {
2424
fatal_error("non-ENOMEM mmap failure");
@@ -28,17 +28,14 @@ void *memory_map(size_t size) {
2828
return p;
2929
}
3030

31+
void *memory_map(size_t size) {
32+
return memory_map_prot(size, PROT_NONE);
33+
}
34+
3135
#ifdef HAS_ARM_MTE
3236
// Note that PROT_MTE can't be cleared via mprotect
3337
void *memory_map_mte(size_t size) {
34-
void *p = mmap(NULL, size, PROT_MTE, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
35-
if (unlikely(p == MAP_FAILED)) {
36-
if (errno != ENOMEM) {
37-
fatal_error("non-ENOMEM MTE mmap failure");
38-
}
39-
return NULL;
40-
}
41-
return p;
38+
return memory_map_prot(size, PROT_MTE);
4239
}
4340
#endif
4441

0 commit comments

Comments
 (0)