blob: 78d5b3c543eb488179c25d1d8dd43f20c89adf28 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#define ASM_FILE 1
#include <camellia/syscalls.h>
.section .text
.global _freejmp_chstack
.type _freejmp_chstack, @function
// void _freejmp_chstack(void *entry, void *low, size_t len, char **argv, char **envp, void *stack);
_freejmp_chstack:
mov %r9, %rsp
jmp _freejmp
.section .text
.global execbuf_chstack
.type execbuf_chstack, @function
// _Noreturn void execbuf_chstack(void *stack, void __user *buf, size_t len);
execbuf_chstack:
mov %rdi, %rsp
mov $_SYS_EXECBUF, %rdi
syscall
hlt // if execbuf failed we might as well crash
|