syscall: socket: return with error

Return with an error when calling socket()
This commit is contained in:
Matthew Leach
2025-11-25 16:45:28 +00:00
committed by Matthew Leach
parent 6a029c340a
commit 6e988c3639
3 changed files with 4 additions and 2 deletions

View File

@@ -198,7 +198,7 @@
| 0xc3 (195) | shmctl | (int shmid, int cmd, struct shmid_ds *buf) | __arm64_sys_shmctl | false |
| 0xc4 (196) | shmat | (int shmid, char *shmaddr, int shmflg) | __arm64_sys_shmat | false |
| 0xc5 (197) | shmdt | (char *shmaddr) | __arm64_sys_shmdt | false |
| 0xc6 (198) | socket | (int family, int type, int protocol) | __arm64_sys_socket | false |
| 0xc6 (198) | socket | (int family, int type, int protocol) | __arm64_sys_socket | dummy |
| 0xc7 (199) | socketpair | (int family, int type, int protocol, int *usockvec) | __arm64_sys_socketpair | false |
| 0xc8 (200) | bind | (int fd, struct sockaddr *umyaddr, int addrlen) | __arm64_sys_bind | false |
| 0xc9 (201) | listen | (int fd, int backlog) | __arm64_sys_listen | false |

View File

@@ -47,6 +47,7 @@ pub fn kern_err_to_syscall(err: KernelError) -> isize {
KernelError::Fs(FsError::NotFound) => ENOENT,
KernelError::NotATty => ENOTTY,
KernelError::SeekPipe => ESPIPE,
KernelError::NotSupported => EINVAL,
_ => todo!(),
}
}

View File

@@ -58,7 +58,7 @@ use crate::{
};
use alloc::boxed::Box;
use libkernel::{
error::syscall_error::kern_err_to_syscall,
error::{KernelError, syscall_error::kern_err_to_syscall},
memory::address::{TUA, UA, VA},
};
@@ -217,6 +217,7 @@ pub async fn handle_syscall() {
0xaf => sys_geteuid().map_err(|e| match e {}),
0xb0 => sys_getgid().map_err(|e| match e {}),
0xb1 => sys_getegid().map_err(|e| match e {}),
0xc6 => Err(KernelError::NotSupported),
0xd6 => sys_brk(VA::from_value(arg1 as _))
.await
.map_err(|e| match e {}),