CS318 - Pintos
Pintos source browser for JHU CS318 course
sc-bad-arg.c
Go to the documentation of this file.
1 /** Sticks a system call number (SYS_EXIT) at the very top of the
2  stack, then invokes a system call with the stack pointer
3  (%esp) set to its address. The process must be terminated
4  with -1 exit code because the argument to the system call
5  would be above the top of the user address space. */
6 
7 #include <syscall-nr.h>
8 #include "tests/lib.h"
9 #include "tests/main.h"
10 
11 void
12 test_main (void)
13 {
14  asm volatile ("movl $0xbffffffc, %%esp; movl %0, (%%esp); int $0x30"
15  : : "i" (SYS_EXIT));
16  fail ("should have called exit(-1)");
17 }
lib.h
syscall-nr.h
test_main
void test_main(void)
Sticks a system call number (SYS_EXIT) at the very top of the stack, then invokes a system call with ...
Definition: sc-bad-arg.c:12
fail
void fail(const char *format,...)
Definition: lib.c:40
main.h
SYS_EXIT
Terminate this process.
Definition: syscall-nr.h:9