diff --git a/etc/syscalls_linux_aarch64.md b/etc/syscalls_linux_aarch64.md index 0060958..acb9369 100644 --- a/etc/syscalls_linux_aarch64.md +++ b/etc/syscalls_linux_aarch64.md @@ -163,7 +163,7 @@ | 0xa0 (160) | newuname | (struct new_utsname *name) | __arm64_sys_newuname | true | | 0xa1 (161) | sethostname | (char *name, int len) | __arm64_sys_sethostname | false | | 0xa2 (162) | setdomainname | (char *name, int len) | __arm64_sys_setdomainname | false | -| 0xa3 (163) | getrlimit | (unsigned int resource, struct rlimit *rlim) | __arm64_sys_getrlimit | false | +| 0xa3 (163) | getrlimit | (unsigned int resource, struct rlimit *rlim) | __arm64_sys_getrlimit | dummy | | 0xa4 (164) | setrlimit | (unsigned int resource, struct rlimit *rlim) | __arm64_sys_setrlimit | false | | 0xa5 (165) | getrusage | (int who, struct rusage *ru) | __arm64_sys_getrusage | false | | 0xa6 (166) | umask | (int mask) | __arm64_sys_umask | true | diff --git a/src/arch/arm64/exceptions/syscall.rs b/src/arch/arm64/exceptions/syscall.rs index f27e5d1..2563633 100644 --- a/src/arch/arm64/exceptions/syscall.rs +++ b/src/arch/arm64/exceptions/syscall.rs @@ -209,6 +209,7 @@ pub async fn handle_syscall() { 0x9a => sys_setpgid(arg1 as _, Pgid(arg2 as _)), 0x9b => sys_getpgid(arg1 as _), 0xa0 => sys_uname(TUA::from_value(arg1 as _)).await, + 0xa3 => Err(KernelError::InvalidValue), 0xa6 => sys_umask(arg1 as _).map_err(|e| match e {}), 0xa9 => sys_gettimeofday(TUA::from_value(arg1 as _), TUA::from_value(arg2 as _)).await, 0xac => sys_getpid().map_err(|e| match e {}),