diff --git a/kernel/src/context.rs b/kernel/src/context.rs index fcfb4121f..528e6a269 100644 --- a/kernel/src/context.rs +++ b/kernel/src/context.rs @@ -26,7 +26,7 @@ pub struct Context<'a> { impl Context<'_> { /// Gets the userspace of the current task. - pub fn get_user_space(&self) -> CurrentUserSpace { + pub fn user_space(&self) -> CurrentUserSpace { CurrentUserSpace::new(self.task) } } @@ -38,7 +38,7 @@ pub struct CurrentUserSpace<'a>(&'a VmSpace); /// Gets the [`CurrentUserSpace`] from the current task. /// -/// This is slower than [`Context::get_user_space`]. Don't use this getter +/// This is slower than [`Context::user_space`]. Don't use this getter /// If you get the access to the [`Context`]. #[macro_export] macro_rules! get_current_userspace { @@ -53,7 +53,7 @@ impl<'a> CurrentUserSpace<'a> { /// This method is _not_ recommended for use, as it does not verify whether the provided /// `task` is the current task in release builds. /// - /// If you have access to a [`Context`], it is preferable to call [`Context::get_user_space`]. + /// If you have access to a [`Context`], it is preferable to call [`Context::user_space`]. /// /// Otherwise, you can use the `get_current_userspace` macro /// to obtain an instance of `CurrentUserSpace` if it will only be used once. diff --git a/kernel/src/process/posix_thread/futex.rs b/kernel/src/process/posix_thread/futex.rs index 316c08870..26af862c3 100644 --- a/kernel/src/process/posix_thread/futex.rs +++ b/kernel/src/process/posix_thread/futex.rs @@ -350,7 +350,7 @@ impl FutexKey { pub fn load_val(&self, ctx: &Context) -> Result { // FIXME: how to implement a atomic load? warn!("implement an atomic load"); - ctx.get_user_space().read_val(self.addr) + ctx.user_space().read_val(self.addr) } pub fn addr(&self) -> Vaddr { diff --git a/kernel/src/process/signal/mod.rs b/kernel/src/process/signal/mod.rs index 5cbe36d04..59d6448cc 100644 --- a/kernel/src/process/signal/mod.rs +++ b/kernel/src/process/signal/mod.rs @@ -159,7 +159,7 @@ pub fn handle_user_signal( // To avoid corrupting signal stack, we minus 128 first. stack_pointer -= 128; - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); // 1. write siginfo_t stack_pointer -= mem::size_of::() as u64; diff --git a/kernel/src/syscall/access.rs b/kernel/src/syscall/access.rs index 1962dfea2..8a87a0310 100644 --- a/kernel/src/syscall/access.rs +++ b/kernel/src/syscall/access.rs @@ -60,7 +60,7 @@ pub fn do_faccessat( let flags = FaccessatFlags::from_bits(flags) .ok_or_else(|| Error::with_message(Errno::EINVAL, "Invalid flags"))?; - let path = ctx.get_user_space().read_cstring(path_ptr, PATH_MAX)?; + let path = ctx.user_space().read_cstring(path_ptr, PATH_MAX)?; debug!( "dirfd = {}, path = {:?}, mode = {:o}, flags = {:?}", dirfd, path, mode, flags diff --git a/kernel/src/syscall/capget.rs b/kernel/src/syscall/capget.rs index 7e20462ac..9f36af111 100644 --- a/kernel/src/syscall/capget.rs +++ b/kernel/src/syscall/capget.rs @@ -13,7 +13,7 @@ pub fn sys_capget( cap_user_data_addr: Vaddr, ctx: &Context, ) -> Result { - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let cap_user_header: cap_user_header_t = user_space.read_val::(cap_user_header_addr)?; diff --git a/kernel/src/syscall/capset.rs b/kernel/src/syscall/capset.rs index 224e9b25e..d381acb99 100644 --- a/kernel/src/syscall/capset.rs +++ b/kernel/src/syscall/capset.rs @@ -18,7 +18,7 @@ pub fn sys_capset( cap_user_data_addr: Vaddr, ctx: &Context, ) -> Result { - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let cap_user_header: cap_user_header_t = user_space.read_val::(cap_user_header_addr)?; diff --git a/kernel/src/syscall/chdir.rs b/kernel/src/syscall/chdir.rs index 8e9050029..1fe870682 100644 --- a/kernel/src/syscall/chdir.rs +++ b/kernel/src/syscall/chdir.rs @@ -8,9 +8,7 @@ use crate::{ }; pub fn sys_chdir(path_ptr: Vaddr, ctx: &Context) -> Result { - let path = ctx - .get_user_space() - .read_cstring(path_ptr, MAX_FILENAME_LEN)?; + let path = ctx.user_space().read_cstring(path_ptr, MAX_FILENAME_LEN)?; debug!("path = {:?}", path); let mut fs = ctx.process.fs().write(); diff --git a/kernel/src/syscall/chmod.rs b/kernel/src/syscall/chmod.rs index caaf36378..66fa72416 100644 --- a/kernel/src/syscall/chmod.rs +++ b/kernel/src/syscall/chmod.rs @@ -33,7 +33,7 @@ pub fn sys_fchmodat( /* flags: u32, */ ctx: &Context, ) -> Result { - let path = ctx.get_user_space().read_cstring(path_ptr, PATH_MAX)?; + let path = ctx.user_space().read_cstring(path_ptr, PATH_MAX)?; debug!("dirfd = {}, path = {:?}, mode = 0o{:o}", dirfd, path, mode,); let dentry = { diff --git a/kernel/src/syscall/chown.rs b/kernel/src/syscall/chown.rs index a13510eb7..506575653 100644 --- a/kernel/src/syscall/chown.rs +++ b/kernel/src/syscall/chown.rs @@ -56,7 +56,7 @@ pub fn sys_fchownat( flags: u32, ctx: &Context, ) -> Result { - let path = ctx.get_user_space().read_cstring(path_ptr, PATH_MAX)?; + let path = ctx.user_space().read_cstring(path_ptr, PATH_MAX)?; let flags = ChownFlags::from_bits(flags) .ok_or_else(|| Error::with_message(Errno::EINVAL, "invalid flags"))?; debug!( diff --git a/kernel/src/syscall/chroot.rs b/kernel/src/syscall/chroot.rs index d208e1bc2..8a420ea1b 100644 --- a/kernel/src/syscall/chroot.rs +++ b/kernel/src/syscall/chroot.rs @@ -8,9 +8,7 @@ use crate::{ }; pub fn sys_chroot(path_ptr: Vaddr, ctx: &Context) -> Result { - let path = ctx - .get_user_space() - .read_cstring(path_ptr, MAX_FILENAME_LEN)?; + let path = ctx.user_space().read_cstring(path_ptr, MAX_FILENAME_LEN)?; debug!("path = {:?}", path); let mut fs = ctx.process.fs().write(); diff --git a/kernel/src/syscall/clock_gettime.rs b/kernel/src/syscall/clock_gettime.rs index fab7919d5..c7412d28b 100644 --- a/kernel/src/syscall/clock_gettime.rs +++ b/kernel/src/syscall/clock_gettime.rs @@ -31,7 +31,7 @@ pub fn sys_clock_gettime( let time_duration = read_clock(clockid, ctx)?; let timespec = timespec_t::from(time_duration); - ctx.get_user_space().write_val(timespec_addr, ×pec)?; + ctx.user_space().write_val(timespec_addr, ×pec)?; Ok(SyscallReturn::Return(0)) } diff --git a/kernel/src/syscall/clone.rs b/kernel/src/syscall/clone.rs index cb35d0bcc..b3c90f2c9 100644 --- a/kernel/src/syscall/clone.rs +++ b/kernel/src/syscall/clone.rs @@ -43,7 +43,7 @@ pub fn sys_clone3( } let clone_args = { - let args: Clone3Args = ctx.get_user_space().read_val(clong_args_addr)?; + let args: Clone3Args = ctx.user_space().read_val(clong_args_addr)?; trace!("clone3 args = {:x?}", args); CloneArgs::from(args) }; diff --git a/kernel/src/syscall/epoll.rs b/kernel/src/syscall/epoll.rs index aec197e60..b4b41fa92 100644 --- a/kernel/src/syscall/epoll.rs +++ b/kernel/src/syscall/epoll.rs @@ -64,14 +64,14 @@ pub fn sys_epoll_ctl( let cmd = match op { EPOLL_CTL_ADD => { - let c_epoll_event = ctx.get_user_space().read_val::(event_addr)?; + let c_epoll_event = ctx.user_space().read_val::(event_addr)?; let event = EpollEvent::from(&c_epoll_event); let flags = EpollFlags::from_bits_truncate(c_epoll_event.events); EpollCtl::Add(fd, event, flags) } EPOLL_CTL_DEL => EpollCtl::Del(fd), EPOLL_CTL_MOD => { - let c_epoll_event = ctx.get_user_space().read_val::(event_addr)?; + let c_epoll_event = ctx.user_space().read_val::(event_addr)?; let event = EpollEvent::from(&c_epoll_event); let flags = EpollFlags::from_bits_truncate(c_epoll_event.events); EpollCtl::Mod(fd, event, flags) @@ -147,7 +147,7 @@ pub fn sys_epoll_wait( // Write back let mut write_addr = events_addr; - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); for epoll_event in epoll_events.iter() { let c_epoll_event = c_epoll_event::from(epoll_event); user_space.write_val(write_addr, &c_epoll_event)?; @@ -159,7 +159,7 @@ pub fn sys_epoll_wait( fn set_signal_mask(set_ptr: Vaddr, ctx: &Context) -> Result { let new_mask: Option = if set_ptr != 0 { - Some(ctx.get_user_space().read_val::(set_ptr)?.into()) + Some(ctx.user_space().read_val::(set_ptr)?.into()) } else { None }; @@ -215,7 +215,7 @@ pub fn sys_epoll_pwait( // Write back let mut write_addr = events_addr; - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); for event in ready_events.iter() { let c_event = c_epoll_event::from(event); user_space.write_val(write_addr, &c_event)?; diff --git a/kernel/src/syscall/execve.rs b/kernel/src/syscall/execve.rs index 12ae26fcf..2fe22803a 100644 --- a/kernel/src/syscall/execve.rs +++ b/kernel/src/syscall/execve.rs @@ -153,7 +153,7 @@ bitflags::bitflags! { fn read_filename(filename_ptr: Vaddr, ctx: &Context) -> Result { let filename = ctx - .get_user_space() + .user_space() .read_cstring(filename_ptr, MAX_FILENAME_LEN)?; Ok(filename.into_string().unwrap()) } @@ -171,7 +171,7 @@ fn read_cstring_vec( } let mut read_addr = array_ptr; let mut find_null = false; - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); for _ in 0..max_string_number { let cstring_ptr = user_space.read_val::(read_addr)?; read_addr += 8; diff --git a/kernel/src/syscall/fcntl.rs b/kernel/src/syscall/fcntl.rs index 4a7b4962f..77b6f5ec2 100644 --- a/kernel/src/syscall/fcntl.rs +++ b/kernel/src/syscall/fcntl.rs @@ -92,7 +92,7 @@ fn handle_getlk(fd: FileDesc, arg: u64, ctx: &Context) -> Result file_table.get_file(fd)?.clone() }; let lock_mut_ptr = arg as Vaddr; - let mut lock_mut_c = ctx.get_user_space().read_val::(lock_mut_ptr)?; + let mut lock_mut_c = ctx.user_space().read_val::(lock_mut_ptr)?; let lock_type = RangeLockType::try_from(lock_mut_c.l_type)?; if lock_type == RangeLockType::Unlock { return_errno_with_message!(Errno::EINVAL, "invalid flock type for getlk"); @@ -106,7 +106,7 @@ fn handle_getlk(fd: FileDesc, arg: u64, ctx: &Context) -> Result .ok_or(Error::with_message(Errno::EBADF, "not inode"))?; lock = inode_file.test_range_lock(lock)?; lock_mut_c.copy_from_range_lock(&lock); - ctx.get_user_space().write_val(lock_mut_ptr, &lock_mut_c)?; + ctx.user_space().write_val(lock_mut_ptr, &lock_mut_c)?; Ok(SyscallReturn::Return(0)) } @@ -121,7 +121,7 @@ fn handle_setlk( file_table.get_file(fd)?.clone() }; let lock_mut_ptr = arg as Vaddr; - let lock_mut_c = ctx.get_user_space().read_val::(lock_mut_ptr)?; + let lock_mut_c = ctx.user_space().read_val::(lock_mut_ptr)?; let lock_type = RangeLockType::try_from(lock_mut_c.l_type)?; let lock = RangeLockItemBuilder::new() .type_(lock_type) diff --git a/kernel/src/syscall/getcwd.rs b/kernel/src/syscall/getcwd.rs index 905b2689d..8c19b0a20 100644 --- a/kernel/src/syscall/getcwd.rs +++ b/kernel/src/syscall/getcwd.rs @@ -20,7 +20,7 @@ pub fn sys_getcwd(buf: Vaddr, len: usize, ctx: &Context) -> Result::new(&mut buffer); // Use the non-64-bit reader let _ = inode_handle.readdir(&mut reader)?; let read_len = reader.read_len(); - ctx.get_user_space() + ctx.user_space() .write_bytes(buf_addr, &mut VmReader::from(&buffer[..read_len]))?; Ok(SyscallReturn::Return(read_len as _)) } @@ -67,7 +67,7 @@ pub fn sys_getdents64( let mut reader = DirentBufferReader::::new(&mut buffer); let _ = inode_handle.readdir(&mut reader)?; let read_len = reader.read_len(); - ctx.get_user_space() + ctx.user_space() .write_bytes(buf_addr, &mut VmReader::from(&buffer[..read_len]))?; Ok(SyscallReturn::Return(read_len as _)) } diff --git a/kernel/src/syscall/getgroups.rs b/kernel/src/syscall/getgroups.rs index 208bc6373..c2b386326 100644 --- a/kernel/src/syscall/getgroups.rs +++ b/kernel/src/syscall/getgroups.rs @@ -24,7 +24,7 @@ pub fn sys_getgroups(size: i32, group_list_addr: Vaddr, ctx: &Context) -> Result ); } - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); for (idx, gid) in groups.iter().enumerate() { let addr = group_list_addr + idx * core::mem::size_of_val(gid); user_space.write_val(addr, gid)?; diff --git a/kernel/src/syscall/getrandom.rs b/kernel/src/syscall/getrandom.rs index 02a4bfa1e..4d7393898 100644 --- a/kernel/src/syscall/getrandom.rs +++ b/kernel/src/syscall/getrandom.rs @@ -17,7 +17,7 @@ pub fn sys_getrandom(buf: Vaddr, count: usize, flags: u32, ctx: &Context) -> Res } else { device::Urandom::getrandom(&mut buffer)? }; - ctx.get_user_space() + ctx.user_space() .write_bytes(buf, &mut VmReader::from(buffer.as_slice()))?; Ok(SyscallReturn::Return(read_len as isize)) } diff --git a/kernel/src/syscall/getresgid.rs b/kernel/src/syscall/getresgid.rs index 4863d0cc7..9a43f82e8 100644 --- a/kernel/src/syscall/getresgid.rs +++ b/kernel/src/syscall/getresgid.rs @@ -12,7 +12,7 @@ pub fn sys_getresgid( debug!("rgid_ptr = 0x{rgid_ptr:x}, egid_ptr = 0x{egid_ptr:x}, sgid_ptr = 0x{sgid_ptr:x}"); let credentials = ctx.posix_thread.credentials(); - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let rgid = credentials.rgid(); user_space.write_val(rgid_ptr, &rgid)?; diff --git a/kernel/src/syscall/getresuid.rs b/kernel/src/syscall/getresuid.rs index dfd2670f0..e4e79c304 100644 --- a/kernel/src/syscall/getresuid.rs +++ b/kernel/src/syscall/getresuid.rs @@ -12,7 +12,7 @@ pub fn sys_getresuid( debug!("ruid_ptr = 0x{ruid_ptr:x}, euid_ptr = 0x{euid_ptr:x}, suid_ptr = 0x{suid_ptr:x}"); let credentials = ctx.posix_thread.credentials(); - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let ruid = credentials.ruid(); user_space.write_val(ruid_ptr, &ruid)?; diff --git a/kernel/src/syscall/getrusage.rs b/kernel/src/syscall/getrusage.rs index dbe2e96ae..a76d60c87 100644 --- a/kernel/src/syscall/getrusage.rs +++ b/kernel/src/syscall/getrusage.rs @@ -48,7 +48,7 @@ pub fn sys_getrusage(target: i32, rusage_addr: Vaddr, ctx: &Context) -> Result Result { - let is_nonblocking = ctx.get_user_space().read_val::(arg)? != 0; + let is_nonblocking = ctx.user_space().read_val::(arg)? != 0; let mut flags = file.status_flags(); flags.set(StatusFlags::O_NONBLOCK, is_nonblocking); file.set_status_flags(flags)?; 0 } IoctlCmd::FIOASYNC => { - let is_async = ctx.get_user_space().read_val::(arg)? != 0; + let is_async = ctx.user_space().read_val::(arg)? != 0; let mut flags = file.status_flags(); // Set `O_ASYNC` flags will send `SIGIO` signal to a process when diff --git a/kernel/src/syscall/link.rs b/kernel/src/syscall/link.rs index 88d732eeb..d68846656 100644 --- a/kernel/src/syscall/link.rs +++ b/kernel/src/syscall/link.rs @@ -18,7 +18,7 @@ pub fn sys_linkat( flags: u32, ctx: &Context, ) -> Result { - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let old_path = user_space.read_cstring(old_path_addr, MAX_FILENAME_LEN)?; let new_path = user_space.read_cstring(new_path_addr, MAX_FILENAME_LEN)?; diff --git a/kernel/src/syscall/madvise.rs b/kernel/src/syscall/madvise.rs index 4ef9b8976..5de02d9e0 100644 --- a/kernel/src/syscall/madvise.rs +++ b/kernel/src/syscall/madvise.rs @@ -38,7 +38,7 @@ pub fn sys_madvise( | MadviseBehavior::MADV_WILLNEED => { // perform a read at first let mut buffer = vec![0u8; len]; - ctx.get_user_space() + ctx.user_space() .read_bytes(start, &mut VmWriter::from(buffer.as_mut_slice()))?; } MadviseBehavior::MADV_DONTNEED => { diff --git a/kernel/src/syscall/mkdir.rs b/kernel/src/syscall/mkdir.rs index 77526c750..f14859042 100644 --- a/kernel/src/syscall/mkdir.rs +++ b/kernel/src/syscall/mkdir.rs @@ -17,9 +17,7 @@ pub fn sys_mkdirat( mode: u16, ctx: &Context, ) -> Result { - let path = ctx - .get_user_space() - .read_cstring(path_addr, MAX_FILENAME_LEN)?; + let path = ctx.user_space().read_cstring(path_addr, MAX_FILENAME_LEN)?; debug!("dirfd = {}, path = {:?}, mode = {}", dirfd, path, mode); let current = ctx.process; diff --git a/kernel/src/syscall/mknod.rs b/kernel/src/syscall/mknod.rs index 5299baa4d..182271a98 100644 --- a/kernel/src/syscall/mknod.rs +++ b/kernel/src/syscall/mknod.rs @@ -19,9 +19,7 @@ pub fn sys_mknodat( dev: usize, ctx: &Context, ) -> Result { - let path = ctx - .get_user_space() - .read_cstring(path_addr, MAX_FILENAME_LEN)?; + let path = ctx.user_space().read_cstring(path_addr, MAX_FILENAME_LEN)?; let current = ctx.process; let inode_mode = { let mask_mode = mode & !current.umask().read().get(); diff --git a/kernel/src/syscall/mount.rs b/kernel/src/syscall/mount.rs index e22a3635c..418ebac7e 100644 --- a/kernel/src/syscall/mount.rs +++ b/kernel/src/syscall/mount.rs @@ -25,7 +25,7 @@ pub fn sys_mount( data: Vaddr, ctx: &Context, ) -> Result { - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let devname = user_space.read_cstring(devname_addr, MAX_FILENAME_LEN)?; let dirname = user_space.read_cstring(dirname_addr, MAX_FILENAME_LEN)?; let mount_flags = MountFlags::from_bits_truncate(flags as u32); @@ -142,9 +142,7 @@ fn do_new_mount( return_errno_with_message!(Errno::ENOTDIR, "mountpoint must be directory"); }; - let fs_type = ctx - .get_user_space() - .read_cstring(fs_type, MAX_FILENAME_LEN)?; + let fs_type = ctx.user_space().read_cstring(fs_type, MAX_FILENAME_LEN)?; if fs_type.is_empty() { return_errno_with_message!(Errno::EINVAL, "fs_type is empty"); } diff --git a/kernel/src/syscall/nanosleep.rs b/kernel/src/syscall/nanosleep.rs index 5eaa1d1ca..938512766 100644 --- a/kernel/src/syscall/nanosleep.rs +++ b/kernel/src/syscall/nanosleep.rs @@ -66,7 +66,7 @@ fn do_clock_nanosleep( ) -> Result { let request_time = { let timespec = ctx - .get_user_space() + .user_space() .read_val::(request_timespec_addr)?; Duration::try_from(timespec)? }; @@ -126,7 +126,7 @@ fn do_clock_nanosleep( if remain_timespec_addr != 0 && !is_abs_time { let remaining_duration = (start_time + duration) - end_time; let remaining_timespec = timespec_t::from(remaining_duration); - ctx.get_user_space() + ctx.user_space() .write_val(remain_timespec_addr, &remaining_timespec)?; } diff --git a/kernel/src/syscall/open.rs b/kernel/src/syscall/open.rs index 6c323e9d0..08e54d6dd 100644 --- a/kernel/src/syscall/open.rs +++ b/kernel/src/syscall/open.rs @@ -18,9 +18,7 @@ pub fn sys_openat( mode: u16, ctx: &Context, ) -> Result { - let path = ctx - .get_user_space() - .read_cstring(path_addr, MAX_FILENAME_LEN)?; + let path = ctx.user_space().read_cstring(path_addr, MAX_FILENAME_LEN)?; debug!( "dirfd = {}, path = {:?}, flags = {}, mode = {}", dirfd, path, flags, mode diff --git a/kernel/src/syscall/pipe.rs b/kernel/src/syscall/pipe.rs index 710038646..5c1046ed0 100644 --- a/kernel/src/syscall/pipe.rs +++ b/kernel/src/syscall/pipe.rs @@ -29,7 +29,7 @@ pub fn sys_pipe2(fds: Vaddr, flags: u32, ctx: &Context) -> Result }; debug!("pipe_fds: {:?}", pipe_fds); - if let Err(err) = ctx.get_user_space().write_val(fds, &pipe_fds) { + if let Err(err) = ctx.user_space().write_val(fds, &pipe_fds) { file_table.close_file(pipe_fds.reader_fd).unwrap(); file_table.close_file(pipe_fds.writer_fd).unwrap(); return Err(err); diff --git a/kernel/src/syscall/poll.rs b/kernel/src/syscall/poll.rs index df62a2343..c05cfd451 100644 --- a/kernel/src/syscall/poll.rs +++ b/kernel/src/syscall/poll.rs @@ -11,7 +11,7 @@ use crate::{ }; pub fn sys_poll(fds: Vaddr, nfds: u64, timeout: i32, ctx: &Context) -> Result { - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let poll_fds = { let mut read_addr = fds; diff --git a/kernel/src/syscall/prctl.rs b/kernel/src/syscall/prctl.rs index 90f3db039..5bf3389ae 100644 --- a/kernel/src/syscall/prctl.rs +++ b/kernel/src/syscall/prctl.rs @@ -28,7 +28,7 @@ pub fn sys_prctl( } }; - ctx.get_user_space().write_val(write_to_addr, &write_val)?; + ctx.user_space().write_val(write_to_addr, &write_val)?; } PrctlCmd::PR_GET_DUMPABLE => { // TODO: when coredump is supported, return the actual value @@ -45,7 +45,7 @@ pub fn sys_prctl( let thread_name = ctx.posix_thread.thread_name().lock(); if let Some(thread_name) = &*thread_name { if let Some(thread_name) = thread_name.name()? { - ctx.get_user_space().write_bytes( + ctx.user_space().write_bytes( write_to_addr, &mut VmReader::from(thread_name.to_bytes_with_nul()), )?; @@ -56,7 +56,7 @@ pub fn sys_prctl( let mut thread_name = ctx.posix_thread.thread_name().lock(); if let Some(thread_name) = &mut *thread_name { let new_thread_name = ctx - .get_user_space() + .user_space() .read_cstring(read_addr, MAX_THREAD_NAME_LEN)?; thread_name.set_name(&new_thread_name)?; } diff --git a/kernel/src/syscall/prlimit64.rs b/kernel/src/syscall/prlimit64.rs index d4f7ca32f..3df2fb58f 100644 --- a/kernel/src/syscall/prlimit64.rs +++ b/kernel/src/syscall/prlimit64.rs @@ -11,7 +11,7 @@ pub fn sys_getrlimit(resource: u32, rlim_addr: Vaddr, ctx: &Context) -> Result Resu "resource = {:?}, new_rlim_addr = 0x{:x}", resource, new_rlim_addr ); - let new_rlimit = ctx.get_user_space().read_val(new_rlim_addr)?; + let new_rlimit = ctx.user_space().read_val(new_rlim_addr)?; let mut resource_limits = ctx.process.resource_limits().lock(); *resource_limits.get_rlimit_mut(resource) = new_rlimit; Ok(SyscallReturn::Return(0)) @@ -42,10 +42,10 @@ pub fn sys_prlimit64( let mut resource_limits = ctx.process.resource_limits().lock(); if old_rlim_addr != 0 { let rlimit = resource_limits.get_rlimit(resource); - ctx.get_user_space().write_val(old_rlim_addr, rlimit)?; + ctx.user_space().write_val(old_rlim_addr, rlimit)?; } if new_rlim_addr != 0 { - let new_rlimit = ctx.get_user_space().read_val(new_rlim_addr)?; + let new_rlimit = ctx.user_space().read_val(new_rlim_addr)?; *resource_limits.get_rlimit_mut(resource) = new_rlimit; } Ok(SyscallReturn::Return(0)) diff --git a/kernel/src/syscall/pselect6.rs b/kernel/src/syscall/pselect6.rs index 9402f48ac..9bc6a736b 100644 --- a/kernel/src/syscall/pselect6.rs +++ b/kernel/src/syscall/pselect6.rs @@ -16,7 +16,7 @@ pub fn sys_pselect6( sigmask_addr: Vaddr, ctx: &Context, ) -> Result { - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let old_simask = if sigmask_addr != 0 { let sigmask_with_size: SigMaskWithSize = user_space.read_val(sigmask_addr)?; diff --git a/kernel/src/syscall/readlink.rs b/kernel/src/syscall/readlink.rs index a654d4084..89db43d88 100644 --- a/kernel/src/syscall/readlink.rs +++ b/kernel/src/syscall/readlink.rs @@ -17,7 +17,7 @@ pub fn sys_readlinkat( usr_buf_len: usize, ctx: &Context, ) -> Result { - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let path = user_space.read_cstring(path_addr, MAX_FILENAME_LEN)?; debug!( "dirfd = {}, path = {:?}, usr_buf_addr = 0x{:x}, usr_buf_len = 0x{:x}", diff --git a/kernel/src/syscall/recvmsg.rs b/kernel/src/syscall/recvmsg.rs index efa1cf3d2..ec6b12e00 100644 --- a/kernel/src/syscall/recvmsg.rs +++ b/kernel/src/syscall/recvmsg.rs @@ -14,7 +14,7 @@ pub fn sys_recvmsg( flags: i32, ctx: &Context, ) -> Result { - let c_user_msghdr: CUserMsgHdr = ctx.get_user_space().read_val(user_msghdr_ptr)?; + let c_user_msghdr: CUserMsgHdr = ctx.user_space().read_val(user_msghdr_ptr)?; let flags = SendRecvFlags::from_bits_truncate(flags); debug!( diff --git a/kernel/src/syscall/rename.rs b/kernel/src/syscall/rename.rs index ad99bfb0a..02bb3b2bb 100644 --- a/kernel/src/syscall/rename.rs +++ b/kernel/src/syscall/rename.rs @@ -18,7 +18,7 @@ pub fn sys_renameat( new_path_addr: Vaddr, ctx: &Context, ) -> Result { - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let old_path = user_space.read_cstring(old_path_addr, MAX_FILENAME_LEN)?; let new_path = user_space.read_cstring(new_path_addr, MAX_FILENAME_LEN)?; debug!( diff --git a/kernel/src/syscall/rmdir.rs b/kernel/src/syscall/rmdir.rs index 596f67b51..e75847739 100644 --- a/kernel/src/syscall/rmdir.rs +++ b/kernel/src/syscall/rmdir.rs @@ -19,9 +19,7 @@ pub(super) fn sys_rmdirat( path_addr: Vaddr, ctx: &Context, ) -> Result { - let path_addr = ctx - .get_user_space() - .read_cstring(path_addr, MAX_FILENAME_LEN)?; + let path_addr = ctx.user_space().read_cstring(path_addr, MAX_FILENAME_LEN)?; debug!("dirfd = {}, path_addr = {:?}", dirfd, path_addr); let (dir_dentry, name) = { diff --git a/kernel/src/syscall/rt_sigaction.rs b/kernel/src/syscall/rt_sigaction.rs index 8a0b608f5..8f9757c81 100644 --- a/kernel/src/syscall/rt_sigaction.rs +++ b/kernel/src/syscall/rt_sigaction.rs @@ -29,9 +29,7 @@ pub fn sys_rt_sigaction( let mut sig_dispositions = ctx.process.sig_dispositions().lock(); let old_action = if sig_action_addr != 0 { - let sig_action_c = ctx - .get_user_space() - .read_val::(sig_action_addr)?; + let sig_action_c = ctx.user_space().read_val::(sig_action_addr)?; let sig_action = SigAction::try_from(sig_action_c).unwrap(); trace!("sig action = {:?}", sig_action); sig_dispositions.set(sig_num, sig_action) @@ -41,7 +39,7 @@ pub fn sys_rt_sigaction( if old_sig_action_addr != 0 { let old_action_c = old_action.as_c_type(); - ctx.get_user_space() + ctx.user_space() .write_val(old_sig_action_addr, &old_action_c)?; } diff --git a/kernel/src/syscall/rt_sigpending.rs b/kernel/src/syscall/rt_sigpending.rs index e02d99ab1..9bd9cf031 100644 --- a/kernel/src/syscall/rt_sigpending.rs +++ b/kernel/src/syscall/rt_sigpending.rs @@ -28,7 +28,7 @@ fn do_rt_sigpending(set_ptr: Vaddr, ctx: &Context) -> Result<()> { sig_mask_value & sig_pending_value }; - ctx.get_user_space() + ctx.user_space() .write_val(set_ptr, &u64::from(combined_signals))?; Ok(()) } diff --git a/kernel/src/syscall/rt_sigprocmask.rs b/kernel/src/syscall/rt_sigprocmask.rs index 62c1a9ba1..12c693a47 100644 --- a/kernel/src/syscall/rt_sigprocmask.rs +++ b/kernel/src/syscall/rt_sigprocmask.rs @@ -39,13 +39,13 @@ fn do_rt_sigprocmask( let old_sig_mask_value = ctx.posix_thread.sig_mask().load(Ordering::Relaxed); debug!("old sig mask value: 0x{:x}", old_sig_mask_value); if oldset_ptr != 0 { - ctx.get_user_space() + ctx.user_space() .write_val(oldset_ptr, &old_sig_mask_value)?; } let sig_mask_ref = ctx.posix_thread.sig_mask(); if set_ptr != 0 { - let mut read_mask = ctx.get_user_space().read_val::(set_ptr)?; + let mut read_mask = ctx.user_space().read_val::(set_ptr)?; match mask_op { MaskOp::Block => { // According to man pages, "it is not possible to block SIGKILL or SIGSTOP. diff --git a/kernel/src/syscall/rt_sigreturn.rs b/kernel/src/syscall/rt_sigreturn.rs index 517e0213c..a95eb7413 100644 --- a/kernel/src/syscall/rt_sigreturn.rs +++ b/kernel/src/syscall/rt_sigreturn.rs @@ -24,9 +24,7 @@ pub fn sys_rt_sigreturn(ctx: &Context, user_ctx: &mut UserContext) -> Result(sig_context_addr)?; + let ucontext = ctx.user_space().read_val::(sig_context_addr)?; // If the sig stack is active and used by current handler, decrease handler counter. if let Some(sig_stack) = posix_thread.sig_stack().lock().as_mut() { diff --git a/kernel/src/syscall/rt_sigsuspend.rs b/kernel/src/syscall/rt_sigsuspend.rs index 40043a539..ff7361ea5 100644 --- a/kernel/src/syscall/rt_sigsuspend.rs +++ b/kernel/src/syscall/rt_sigsuspend.rs @@ -27,7 +27,7 @@ pub fn sys_rt_sigsuspend( } let sigmask = { - let mut mask: SigMask = ctx.get_user_space().read_val(sigmask_addr)?; + let mut mask: SigMask = ctx.user_space().read_val(sigmask_addr)?; // It is not possible to block SIGKILL or SIGSTOP, // specifying these signals in mask has no effect. mask -= SIGKILL; diff --git a/kernel/src/syscall/sched_affinity.rs b/kernel/src/syscall/sched_affinity.rs index 9aaddf95a..a04ad64ba 100644 --- a/kernel/src/syscall/sched_affinity.rs +++ b/kernel/src/syscall/sched_affinity.rs @@ -21,7 +21,7 @@ pub fn sys_sched_getaffinity( }, }; - let bytes_written = write_cpu_set_to(ctx.get_user_space(), &cpu_set, cpuset_size, cpu_set_ptr)?; + let bytes_written = write_cpu_set_to(ctx.user_space(), &cpu_set, cpuset_size, cpu_set_ptr)?; Ok(SyscallReturn::Return(bytes_written as isize)) } @@ -36,7 +36,7 @@ pub fn sys_sched_setaffinity( cpu_set_ptr: Vaddr, ctx: &Context, ) -> Result { - let user_cpu_set = read_cpu_set_from(ctx.get_user_space(), cpuset_size, cpu_set_ptr)?; + let user_cpu_set = read_cpu_set_from(ctx.user_space(), cpuset_size, cpu_set_ptr)?; match tid { 0 => ctx.thread.atomic_cpu_affinity().store(&user_cpu_set), diff --git a/kernel/src/syscall/select.rs b/kernel/src/syscall/select.rs index 52be2b86d..634a0f77d 100644 --- a/kernel/src/syscall/select.rs +++ b/kernel/src/syscall/select.rs @@ -20,7 +20,7 @@ pub fn sys_select( None } else { let timeval = ctx - .get_user_space() + .user_space() .read_val::(timeval_addr)? .normalize(); Some(Duration::try_from(timeval)?) @@ -48,7 +48,7 @@ pub fn do_sys_select( return_errno_with_message!(Errno::EINVAL, "nfds is negative or exceeds the FD_SETSIZE"); } - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let get_fdset = |fdset_addr: Vaddr| -> Result> { let fdset = if fdset_addr == 0 { None diff --git a/kernel/src/syscall/semop.rs b/kernel/src/syscall/semop.rs index 4e5ec07d0..0c707e42c 100644 --- a/kernel/src/syscall/semop.rs +++ b/kernel/src/syscall/semop.rs @@ -36,7 +36,7 @@ pub fn sys_semtimedop( None } else { Some(Duration::try_from( - ctx.get_user_space().read_val::(timeout)?, + ctx.user_space().read_val::(timeout)?, )?) }; @@ -57,7 +57,7 @@ fn do_sys_semtimedop( return_errno!(Errno::E2BIG); } - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let mut semops = Vec::with_capacity(nsops); for i in 0..nsops { semops.push(user_space.read_val::(tsops + size_of::() * i)?); diff --git a/kernel/src/syscall/sendfile.rs b/kernel/src/syscall/sendfile.rs index f5744dd59..40d348af1 100644 --- a/kernel/src/syscall/sendfile.rs +++ b/kernel/src/syscall/sendfile.rs @@ -15,7 +15,7 @@ pub fn sys_sendfile( let offset = if offset_ptr == 0 { None } else { - let offset: isize = ctx.get_user_space().read_val(offset_ptr)?; + let offset: isize = ctx.user_space().read_val(offset_ptr)?; if offset < 0 { return_errno_with_message!(Errno::EINVAL, "offset cannot be negative"); } @@ -109,8 +109,7 @@ pub fn sys_sendfile( } if let Some(offset) = offset { - ctx.get_user_space() - .write_val(offset_ptr, &(offset as isize))?; + ctx.user_space().write_val(offset_ptr, &(offset as isize))?; } Ok(SyscallReturn::Return(total_len as _)) diff --git a/kernel/src/syscall/sendmsg.rs b/kernel/src/syscall/sendmsg.rs index fe9ea559d..9b57d4728 100644 --- a/kernel/src/syscall/sendmsg.rs +++ b/kernel/src/syscall/sendmsg.rs @@ -14,7 +14,7 @@ pub fn sys_sendmsg( flags: i32, ctx: &Context, ) -> Result { - let c_user_msghdr: CUserMsgHdr = ctx.get_user_space().read_val(user_msghdr_ptr)?; + let c_user_msghdr: CUserMsgHdr = ctx.user_space().read_val(user_msghdr_ptr)?; let flags = SendRecvFlags::from_bits_truncate(flags); debug!( diff --git a/kernel/src/syscall/set_robust_list.rs b/kernel/src/syscall/set_robust_list.rs index 58f838fce..46953cd28 100644 --- a/kernel/src/syscall/set_robust_list.rs +++ b/kernel/src/syscall/set_robust_list.rs @@ -18,7 +18,7 @@ pub fn sys_set_robust_list( "The len is not equal to the size of robust list head" ); } - let robust_list_head: RobustListHead = ctx.get_user_space().read_val(robust_list_head_ptr)?; + let robust_list_head: RobustListHead = ctx.user_space().read_val(robust_list_head_ptr)?; debug!("{:x?}", robust_list_head); let mut robust_list = ctx.posix_thread.robust_list().lock(); *robust_list = Some(robust_list_head); diff --git a/kernel/src/syscall/setgroups.rs b/kernel/src/syscall/setgroups.rs index 875c81b55..13d0c5463 100644 --- a/kernel/src/syscall/setgroups.rs +++ b/kernel/src/syscall/setgroups.rs @@ -15,7 +15,7 @@ pub fn sys_setgroups(size: usize, group_list_addr: Vaddr, ctx: &Context) -> Resu let mut new_groups = BTreeSet::new(); for idx in 0..size { let addr = group_list_addr + idx * core::mem::size_of::(); - let gid = ctx.get_user_space().read_val(addr)?; + let gid = ctx.user_space().read_val(addr)?; new_groups.insert(gid); } diff --git a/kernel/src/syscall/setitimer.rs b/kernel/src/syscall/setitimer.rs index 24b3256fd..9efc539c9 100644 --- a/kernel/src/syscall/setitimer.rs +++ b/kernel/src/syscall/setitimer.rs @@ -32,7 +32,7 @@ pub fn sys_setitimer( if new_itimerval_addr == 0 { return_errno_with_message!(Errno::EINVAL, "invalid pointer to new value"); } - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let new_itimerval = user_space.read_val::(new_itimerval_addr)?; let interval = Duration::try_from(new_itimerval.it_interval)?; let expire_time = Duration::try_from(new_itimerval.it_value)?; @@ -92,7 +92,7 @@ pub fn sys_getitimer( it_interval: interval, it_value: remain, }; - ctx.get_user_space().write_val(itimerval_addr, &itimerval)?; + ctx.user_space().write_val(itimerval_addr, &itimerval)?; Ok(SyscallReturn::Return(0)) } diff --git a/kernel/src/syscall/sigaltstack.rs b/kernel/src/syscall/sigaltstack.rs index 405a0a60e..cecf1b885 100644 --- a/kernel/src/syscall/sigaltstack.rs +++ b/kernel/src/syscall/sigaltstack.rs @@ -40,7 +40,7 @@ fn get_old_stack( debug!("old stack = {:?}", old_stack); let stack = stack_t::from(old_stack.clone()); - ctx.get_user_space() + ctx.user_space() .write_val::(old_sig_stack_addr, &stack)?; } else { let stack = stack_t { @@ -48,7 +48,7 @@ fn get_old_stack( flags: SigStackFlags::SS_DISABLE.bits() as i32, size: 0, }; - ctx.get_user_space() + ctx.user_space() .write_val::(old_sig_stack_addr, &stack)?; } @@ -67,7 +67,7 @@ fn set_new_stack(sig_stack_addr: Vaddr, old_stack: Option<&SigStack>, ctx: &Cont } let new_stack = { - let stack = ctx.get_user_space().read_val::(sig_stack_addr)?; + let stack = ctx.user_space().read_val::(sig_stack_addr)?; SigStack::try_from(stack)? }; diff --git a/kernel/src/syscall/socketpair.rs b/kernel/src/syscall/socketpair.rs index fe531f496..f3c623194 100644 --- a/kernel/src/syscall/socketpair.rs +++ b/kernel/src/syscall/socketpair.rs @@ -48,7 +48,7 @@ pub fn sys_socketpair( SocketFds(fd_a, fd_b) }; - ctx.get_user_space().write_val(sv, &socket_fds)?; + ctx.user_space().write_val(sv, &socket_fds)?; Ok(SyscallReturn::Return(0)) } diff --git a/kernel/src/syscall/stat.rs b/kernel/src/syscall/stat.rs index d76b34f35..b08c76ad3 100644 --- a/kernel/src/syscall/stat.rs +++ b/kernel/src/syscall/stat.rs @@ -21,7 +21,7 @@ pub fn sys_fstat(fd: FileDesc, stat_buf_ptr: Vaddr, ctx: &Context) -> Result Result { - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let filename = user_space.read_cstring(filename_ptr, MAX_FILENAME_LEN)?; let flags = StatFlags::from_bits(flags).ok_or(Error::with_message(Errno::EINVAL, "invalid flags"))?; diff --git a/kernel/src/syscall/statfs.rs b/kernel/src/syscall/statfs.rs index bc60fbca0..d57fc0734 100644 --- a/kernel/src/syscall/statfs.rs +++ b/kernel/src/syscall/statfs.rs @@ -12,7 +12,7 @@ use crate::{ }; pub fn sys_statfs(path_ptr: Vaddr, statfs_buf_ptr: Vaddr, ctx: &Context) -> Result { - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let path = user_space.read_cstring(path_ptr, PATH_MAX)?; debug!("path = {:?}, statfs_buf_ptr = 0x{:x}", path, statfs_buf_ptr,); @@ -39,7 +39,7 @@ pub fn sys_fstatfs(fd: FileDesc, statfs_buf_ptr: Vaddr, ctx: &Context) -> Result }; let statfs = Statfs::from(fs.sb()); - ctx.get_user_space().write_val(statfs_buf_ptr, &statfs)?; + ctx.user_space().write_val(statfs_buf_ptr, &statfs)?; Ok(SyscallReturn::Return(0)) } diff --git a/kernel/src/syscall/symlink.rs b/kernel/src/syscall/symlink.rs index 582845c91..bb273c374 100644 --- a/kernel/src/syscall/symlink.rs +++ b/kernel/src/syscall/symlink.rs @@ -17,7 +17,7 @@ pub fn sys_symlinkat( linkpath_addr: Vaddr, ctx: &Context, ) -> Result { - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let target = user_space.read_cstring(target_addr, MAX_FILENAME_LEN)?; let linkpath = user_space.read_cstring(linkpath_addr, MAX_FILENAME_LEN)?; debug!( diff --git a/kernel/src/syscall/time.rs b/kernel/src/syscall/time.rs index f4346adec..c20b678ad 100644 --- a/kernel/src/syscall/time.rs +++ b/kernel/src/syscall/time.rs @@ -12,7 +12,7 @@ pub fn sys_time(tloc: Vaddr, ctx: &Context) -> Result { }; if tloc != 0 { - ctx.get_user_space().write_val(tloc, &now_as_secs)?; + ctx.user_space().write_val(tloc, &now_as_secs)?; } Ok(SyscallReturn::Return(now_as_secs as _)) diff --git a/kernel/src/syscall/timer_create.rs b/kernel/src/syscall/timer_create.rs index b4458c5e6..cd3691121 100644 --- a/kernel/src/syscall/timer_create.rs +++ b/kernel/src/syscall/timer_create.rs @@ -48,7 +48,7 @@ pub fn sys_timer_create( }) // Determine the timeout action through `sigevent`. } else { - let sig_event = ctx.get_user_space().read_val::(sigevent_addr)?; + let sig_event = ctx.user_space().read_val::(sigevent_addr)?; let sigev_notify = SigNotify::try_from(sig_event.sigev_notify)?; let signo = sig_event.sigev_signo; match sigev_notify { @@ -143,7 +143,7 @@ pub fn sys_timer_create( }; let timer_id = process_timer_manager.add_posix_timer(timer); - ctx.get_user_space().write_val(timer_id_addr, &timer_id)?; + ctx.user_space().write_val(timer_id_addr, &timer_id)?; Ok(SyscallReturn::Return(0)) } diff --git a/kernel/src/syscall/timer_settime.rs b/kernel/src/syscall/timer_settime.rs index 03ed4751d..3a3dfe747 100644 --- a/kernel/src/syscall/timer_settime.rs +++ b/kernel/src/syscall/timer_settime.rs @@ -19,7 +19,7 @@ pub fn sys_timer_settime( return_errno_with_message!(Errno::EINVAL, "invalid pointer to new value"); } - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let new_itimerspec = user_space.read_val::(new_itimerspec_addr)?; let interval = Duration::try_from(new_itimerspec.it_interval)?; let expire_time = Duration::try_from(new_itimerspec.it_value)?; @@ -74,8 +74,7 @@ pub fn sys_timer_gettime( it_interval: interval, it_value: remain, }; - ctx.get_user_space() - .write_val(itimerspec_addr, &itimerspec)?; + ctx.user_space().write_val(itimerspec_addr, &itimerspec)?; Ok(SyscallReturn::Return(0)) } diff --git a/kernel/src/syscall/truncate.rs b/kernel/src/syscall/truncate.rs index 11e7628ed..3ff59b3c0 100644 --- a/kernel/src/syscall/truncate.rs +++ b/kernel/src/syscall/truncate.rs @@ -26,7 +26,7 @@ pub fn sys_ftruncate(fd: FileDesc, len: isize, ctx: &Context) -> Result Result { - let path = ctx.get_user_space().read_cstring(path_ptr, PATH_MAX)?; + let path = ctx.user_space().read_cstring(path_ptr, PATH_MAX)?; debug!("path = {:?}, length = {}", path, len); check_length(len, ctx)?; diff --git a/kernel/src/syscall/umount.rs b/kernel/src/syscall/umount.rs index 9c3903473..a5d6a33de 100644 --- a/kernel/src/syscall/umount.rs +++ b/kernel/src/syscall/umount.rs @@ -8,9 +8,7 @@ use crate::{ }; pub fn sys_umount(path_addr: Vaddr, flags: u64, ctx: &Context) -> Result { - let path = ctx - .get_user_space() - .read_cstring(path_addr, MAX_FILENAME_LEN)?; + let path = ctx.user_space().read_cstring(path_addr, MAX_FILENAME_LEN)?; let umount_flags = UmountFlags::from_bits_truncate(flags as u32); debug!("path = {:?}, flags = {:?}", path, umount_flags); diff --git a/kernel/src/syscall/uname.rs b/kernel/src/syscall/uname.rs index 220a37788..ae010b23d 100644 --- a/kernel/src/syscall/uname.rs +++ b/kernel/src/syscall/uname.rs @@ -59,6 +59,6 @@ fn copy_cstring_to_u8_slice(src: &CStr, dst: &mut [u8]) { pub fn sys_uname(old_uname_addr: Vaddr, ctx: &Context) -> Result { debug!("old uname addr = 0x{:x}", old_uname_addr); - ctx.get_user_space().write_val(old_uname_addr, &*UTS_NAME)?; + ctx.user_space().write_val(old_uname_addr, &*UTS_NAME)?; Ok(SyscallReturn::Return(0)) } diff --git a/kernel/src/syscall/unlink.rs b/kernel/src/syscall/unlink.rs index af909f401..3ce83a2cc 100644 --- a/kernel/src/syscall/unlink.rs +++ b/kernel/src/syscall/unlink.rs @@ -22,9 +22,7 @@ pub fn sys_unlinkat( return super::rmdir::sys_rmdirat(dirfd, path_addr, ctx); } - let path = ctx - .get_user_space() - .read_cstring(path_addr, MAX_FILENAME_LEN)?; + let path = ctx.user_space().read_cstring(path_addr, MAX_FILENAME_LEN)?; debug!("dirfd = {}, path = {:?}", dirfd, path); let (dir_dentry, name) = { diff --git a/kernel/src/syscall/utimens.rs b/kernel/src/syscall/utimens.rs index dce7f5ee0..658364485 100644 --- a/kernel/src/syscall/utimens.rs +++ b/kernel/src/syscall/utimens.rs @@ -78,7 +78,7 @@ pub fn sys_utime(pathname_ptr: Vaddr, utimbuf_ptr: Vaddr, ctx: &Context) -> Resu pathname_ptr, utimbuf_ptr ); let times = if utimbuf_ptr != 0 { - let utimbuf = ctx.get_user_space().read_val::(utimbuf_ptr)?; + let utimbuf = ctx.user_space().read_val::(utimbuf_ptr)?; let atime = timespec_t { sec: utimbuf.actime, nsec: 0, @@ -161,7 +161,7 @@ fn do_utimes( String::new() } else { let cstring = ctx - .get_user_space() + .user_space() .read_cstring(pathname_ptr, MAX_FILENAME_LEN)?; cstring.to_string_lossy().into_owned() }; @@ -211,7 +211,7 @@ fn do_futimesat( fn read_time_from_user(time_ptr: Vaddr, ctx: &Context) -> Result<(T, T)> { let mut time_addr = time_ptr; - let user_space = ctx.get_user_space(); + let user_space = ctx.user_space(); let autime = user_space.read_val::(time_addr)?; time_addr += core::mem::size_of::(); let mutime = user_space.read_val::(time_addr)?; diff --git a/kernel/src/syscall/wait4.rs b/kernel/src/syscall/wait4.rs index b815f225e..5773d12bf 100644 --- a/kernel/src/syscall/wait4.rs +++ b/kernel/src/syscall/wait4.rs @@ -29,7 +29,7 @@ pub fn sys_wait4( let (return_pid, exit_code) = (process.pid(), process.exit_code()); if exit_status_ptr != 0 { - ctx.get_user_space() + ctx.user_space() .write_val(exit_status_ptr as _, &exit_code)?; } @@ -40,7 +40,7 @@ pub fn sys_wait4( ..Default::default() }; - ctx.get_user_space().write_val(rusage_addr, &rusage)?; + ctx.user_space().write_val(rusage_addr, &rusage)?; } Ok(SyscallReturn::Return(return_pid as _))