SHADOW_STACK_SET_TOKEN
if (flags & SHADOW_STACK_SET_TOKEN) {
if (flags & ~(SHADOW_STACK_SET_TOKEN | SHADOW_STACK_SET_MARKER))
bool set_tok = flags & SHADOW_STACK_SET_TOKEN;
if (flags & ~SHADOW_STACK_SET_TOKEN)
bool set_tok = flags & SHADOW_STACK_SET_TOKEN;
if (flags & ~SHADOW_STACK_SET_TOKEN)
SHADOW_STACK_SET_MARKER | SHADOW_STACK_SET_TOKEN);
.flags = SHADOW_STACK_SET_MARKER | SHADOW_STACK_SET_TOKEN,
.flags = SHADOW_STACK_SET_TOKEN,
.flags = SHADOW_STACK_SET_MARKER | SHADOW_STACK_SET_TOKEN,
.flags = SHADOW_STACK_SET_TOKEN,
.flags = SHADOW_STACK_SET_MARKER | SHADOW_STACK_SET_TOKEN,
.flags = SHADOW_STACK_SET_TOKEN,
.flags = SHADOW_STACK_SET_MARKER | SHADOW_STACK_SET_TOKEN,
.flags = SHADOW_STACK_SET_TOKEN,
.flags = SHADOW_STACK_SET_MARKER | SHADOW_STACK_SET_TOKEN,
.flags = SHADOW_STACK_SET_TOKEN,
switch (variant->flags & (SHADOW_STACK_SET_MARKER | SHADOW_STACK_SET_TOKEN)) {
case SHADOW_STACK_SET_MARKER | SHADOW_STACK_SET_TOKEN:
case SHADOW_STACK_SET_TOKEN:
switch (variant->flags & (SHADOW_STACK_SET_MARKER | SHADOW_STACK_SET_TOKEN)) {
case SHADOW_STACK_SET_MARKER | SHADOW_STACK_SET_TOKEN:
case SHADOW_STACK_SET_TOKEN:
switch (variant->flags & (SHADOW_STACK_SET_MARKER | SHADOW_STACK_SET_TOKEN)) {
case SHADOW_STACK_SET_MARKER | SHADOW_STACK_SET_TOKEN:
case SHADOW_STACK_SET_TOKEN:
return (void *)syscall(__NR_map_shadow_stack, addr, SS_SIZE, SHADOW_STACK_SET_TOKEN);