Lines Matching refs:ptr
67 char *ptr;
70 ptr = mmap(NULL, 500 * page_size, PROT_READ | PROT_WRITE,
74 ptr[i * page_size] = i % 100;
104 static int count_freed(char *ptr)
109 if (!ptr[i * page_size])
116 static int check_page_baaa(char *ptr)
120 if (ptr[0] != 'b') {
122 ptr, isprint(ptr[0]) ? ptr[0] : ' ', ptr[0]);
127 if (ptr[i] != 'a') {
130 ptr, isprint(ptr[i]) ? ptr[i] : ' ',
131 ptr[i], i);
139 static int check_page(char *ptr, char val)
144 if (ptr[i] != val) {
147 ptr, isprint(ptr[i]) ? ptr[i] : ' ', ptr[i], i,
159 char *ptr;
166 ptr = SAFE_MMAP(NULL, PAGES * page_size, PROT_READ | PROT_WRITE,
170 ptr[i] = 'a';
172 if (madvise(ptr, PAGES * page_size, MADV_FREE)) {
179 if (ptr[page_size] != 'a')
184 ptr[TOUCHED_PAGE1 * page_size] = 'b';
185 ptr[TOUCHED_PAGE2 * page_size] = 'b';
210 } while (retries++ < 10 && count_freed(ptr) == 0);
219 if (ptr[i * page_size]) {
229 if (check_page(ptr + i * page_size, exp_val)) {
234 if (check_page_baaa(ptr + i * page_size)) {
259 SAFE_MUNMAP(ptr, PAGES);