Lines Matching defs:shstk
123 void free_shstk(void *shstk)
125 munmap(shstk, SS_SIZE);
128 int reset_shstk(void *shstk)
130 return madvise(shstk, SS_SIZE, MADV_DONTNEED);
155 void *shstk = create_shstk(0);
157 if (shstk == MAP_FAILED) {
161 try_shstk((unsigned long)shstk + SS_SIZE - 8);
162 free_shstk(shstk);
170 unsigned long *shstk = create_shstk(0);
173 if (*shstk != 0)
177 write_shstk(shstk, 1);
178 if (*shstk != 1)
182 if (reset_shstk((void *)shstk))
185 write_shstk(shstk, 1);
186 if (*shstk != 1)
258 printf("[INFO]\tViolation from %s\n", is_shstk_access ? "shstk access" : "normal write");
338 printf("[INFO]\tGup read -> shstk access success\n");
345 printf("[INFO]\tGup write -> shstk access success\n");
562 void *free_area, *shstk, *test_map = (void *)0xFFFFFFFFFFFFFFFF;
569 shstk = create_shstk(free_area + SS_SIZE);
570 if (shstk == MAP_FAILED)
573 while (test_map > shstk) {
592 free_shstk(shstk);
594 if (shstk - test_map - PAGE_SIZE != PAGE_SIZE)