Lines Matching +full:no +full:- +full:map

2  * Copyright (c) 1999 - 2004 Kungliga Tekniska Högskolan
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
44 #include "test-mem.h"
55 } map; variable
77 (void)write(fd, msg, sizeof(msg) - 1); in segv_handler()
105 map.type = type; in rk_test_mem_alloc()
106 map.start = p; in rk_test_mem_alloc()
107 map.size = size + 2; in rk_test_mem_alloc()
109 p[map.size-1] = 0xff; in rk_test_mem_alloc()
110 map.data_start = p + 1; in rk_test_mem_alloc()
118 map.type = type; in rk_test_mem_alloc()
122 fd = -1; in rk_test_mem_alloc()
129 map.fd = fd; in rk_test_mem_alloc()
132 map.size = size + pagesize - (size % pagesize) + pagesize * 2; in rk_test_mem_alloc()
134 p = (unsigned char *)mmap(0, map.size, PROT_READ | PROT_WRITE, in rk_test_mem_alloc()
139 map.start = p; in rk_test_mem_alloc()
145 ret = mprotect (p + map.size - pagesize, pagesize, 0); in rk_test_mem_alloc()
151 map.data_start = p + map.size - pagesize - size; in rk_test_mem_alloc()
154 map.data_start = p + pagesize; in rk_test_mem_alloc()
172 map.data_size = size; in rk_test_mem_alloc()
174 memcpy(map.data_start, buf, size); in rk_test_mem_alloc()
175 return map.data_start; in rk_test_mem_alloc()
182 unsigned char *p = map.start; in rk_test_mem_free()
185 errx(1, "test_mem_free call on no free"); in rk_test_mem_free()
189 if (p[map.size-1] != 0xff) in rk_test_mem_free()
190 errx(1, "%s: %s overrun %x\n", testname, map_name, p[map.size - 1]); in rk_test_mem_free()
191 free(map.start); in rk_test_mem_free()
196 errx(1, "test_mem_free call on no free"); in rk_test_mem_free()
198 ret = munmap (map.start, map.size); in rk_test_mem_free()
201 if (map.fd > 0) in rk_test_mem_free()
202 close(map.fd); in rk_test_mem_free()