sycalls: name_to_handle_at: stub

Return EOPNOTSUPP for `sys_name_to_handle_at`.
This commit is contained in:
Matthew Leach
2026-01-14 21:02:11 +00:00
committed by Ashwin Naren
parent b452d5812c
commit 2b55e1d972
6 changed files with 14 additions and 1 deletions

View File

@@ -248,7 +248,7 @@
| 0x105 (261) | prlimit64 | (pid_t pid, unsigned int resource, const struct rlimit64 *new_rlim, struct rlimit64 *old_rlim) | __arm64_sys_prlimit64 | true |
| 0x106 (262) | fanotify_init | (unsigned int flags, unsigned int event_f_flags) | __arm64_sys_fanotify_init | false |
| 0x107 (263) | fanotify_mark | (int fanotify_fd, unsigned int flags, __u64 mask, int dfd, const char *pathname) | __arm64_sys_fanotify_mark | false |
| 0x108 (264) | name_to_handle_at | (int dfd, const char *name, struct file_handle *handle, void *mnt_id, int flag) | __arm64_sys_name_to_handle_at | false |
| 0x108 (264) | name_to_handle_at | (int dfd, const char *name, struct file_handle *handle, void *mnt_id, int flag) | __arm64_sys_name_to_handle_at | strub |
| 0x109 (265) | open_by_handle_at | (int mountdirfd, struct file_handle *handle, int flags) | __arm64_sys_open_by_handle_at | false |
| 0x10a (266) | clock_adjtime | (const clockid_t which_clock, struct __kernel_timex *utx) | __arm64_sys_clock_adjtime | false |
| 0x10b (267) | syncfs | (int fd) | __arm64_sys_syncfs | true |

View File

@@ -189,6 +189,9 @@ pub enum KernelError {
#[error("Value out of range")]
RangeError,
#[error("Operation not supported on transport endpoint")]
OpNotSupported,
#[error("{0}")]
Other(&'static str),
}

View File

@@ -38,6 +38,7 @@ pub const EDOM: isize = -33;
pub const ERANGE: isize = -34;
pub const EWOULDBLOCK: isize = -EAGAIN;
pub const ENOSYS: isize = -38;
pub const EOPNOTSUPP: isize = -95;
pub const ETIMEDOUT: isize = -110;
pub fn kern_err_to_syscall(err: KernelError) -> isize {
@@ -55,6 +56,7 @@ pub fn kern_err_to_syscall(err: KernelError) -> isize {
KernelError::TimedOut => ETIMEDOUT,
KernelError::RangeError => ERANGE,
KernelError::NoChildProcess => ECHILD,
KernelError::OpNotSupported => EOPNOTSUPP,
e => todo!("{e}"),
}
}

View File

@@ -9,6 +9,7 @@ use crate::{
access::{sys_faccessat, sys_faccessat2},
chmod::sys_fchmodat,
chown::sys_fchownat,
handle::sys_name_to_handle_at,
link::sys_linkat,
mkdir::sys_mkdirat,
open::sys_openat,
@@ -524,6 +525,7 @@ pub async fn handle_syscall() {
)
.await
}
0x108 => sys_name_to_handle_at(),
0x10b => sys_syncfs(arg1.into()).await,
0x10e => {
sys_process_vm_readv(

View File

@@ -0,0 +1,5 @@
use libkernel::error::{KernelError, Result};
pub fn sys_name_to_handle_at() -> Result<usize> {
Err(KernelError::OpNotSupported)
}

View File

@@ -12,6 +12,7 @@ use libkernel::{
pub mod access;
pub mod chmod;
pub mod chown;
pub mod handle;
pub mod link;
pub mod mkdir;
pub mod open;