OS161: Arguments Passing in System Call
One principle of kernel programming is that: do not trust anything users
passed in. Since we assume that users are bad, they will do anything they can
to crash the kernel (just as $OS161_SRC/user/testbin/badcall/badcall.c
do). So
we need pay special attention to the arguments of the system calls, especially the
pointers.