diff --git a/kernel/src/arch/x86_64/syscall/mod.rs b/kernel/src/arch/x86_64/syscall/mod.rs index d9468df6..c010485c 100644 --- a/kernel/src/arch/x86_64/syscall/mod.rs +++ b/kernel/src/arch/x86_64/syscall/mod.rs @@ -1,7 +1,7 @@ use crate::{ arch::{ ipc::signal::X86_64SignalArch, - syscall::nr::{SysCall, SYS_ARCH_PRCTL, SYS_RT_SIGRETURN}, + syscall::nr::{SYS_ARCH_PRCTL, SYS_RT_SIGRETURN}, CurrentIrqArch, }, exception::InterruptArch, @@ -53,7 +53,7 @@ macro_rules! syscall_return { if $show { let pid = ProcessManager::current_pcb().pid(); - debug!("[SYS] [Pid: {:?}] [Retn: {:?}]", pid, ret as i64); + debug!("syscall return:pid={:?},ret= {:?}\n", pid, ret as isize); } unsafe { @@ -63,24 +63,6 @@ macro_rules! syscall_return { }}; } -macro_rules! normal_syscall_return { - ($val:expr, $regs:expr, $show:expr) => {{ - let ret = $val; - - if $show { - let pid = ProcessManager::current_pcb().pid(); - debug!("[SYS] [Pid: {:?}] [Retn: {:?}]", pid, ret); - } - - $regs.rax = ret.unwrap_or_else(|e| e.to_posix_errno() as usize) as u64; - - unsafe { - CurrentIrqArch::interrupt_disable(); - } - return; - }}; -} - #[no_mangle] pub extern "sysv64" fn syscall_handler(frame: &mut TrapFrame) { let syscall_num = frame.rax as usize; @@ -105,38 +87,15 @@ pub extern "sysv64" fn syscall_handler(frame: &mut TrapFrame) { ]; mfence(); let pid = ProcessManager::current_pcb().pid(); - let mut show = (syscall_num != SYS_SCHED) && (pid.data() >= 7); - // let mut show = true; + let show = false; + // let show = if syscall_num != SYS_SCHED && pid.data() >= 7 { + // true + // } else { + // false + // }; - let to_print = SysCall::try_from(syscall_num); - if let Ok(to_print) = to_print { - use SysCall::*; - match to_print { - SYS_ACCEPT | SYS_ACCEPT4 | SYS_BIND | SYS_CONNECT | SYS_SHUTDOWN | SYS_LISTEN => { - show &= true; - } - SYS_RECVFROM | SYS_SENDTO | SYS_SENDMSG | SYS_RECVMSG => { - show &= true; - } - SYS_SOCKET | SYS_GETSOCKNAME | SYS_GETPEERNAME | SYS_SOCKETPAIR | SYS_SETSOCKOPT - | SYS_GETSOCKOPT => { - show &= true; - } - SYS_OPEN | SYS_OPENAT | SYS_CREAT | SYS_CLOSE => { - show &= true; - } - SYS_READ | SYS_WRITE | SYS_READV | SYS_WRITEV | SYS_PREAD64 | SYS_PWRITE64 - | SYS_PREADV | SYS_PWRITEV | SYS_PREADV2 => { - show &= true; - } - _ => { - show &= false; - } - } - show &= false; - if show { - debug!("[SYS] [Pid: {:?}] [Call: {:?}]", pid, to_print); - } + if show { + debug!("syscall: pid: {:?}, num={:?}\n", pid, syscall_num); } // Arch specific syscall @@ -149,11 +108,21 @@ pub extern "sysv64" fn syscall_handler(frame: &mut TrapFrame) { ); } SYS_ARCH_PRCTL => { - normal_syscall_return!(Syscall::arch_prctl(args[0], args[1]), frame, show); + syscall_return!( + Syscall::arch_prctl(args[0], args[1]) + .unwrap_or_else(|e| e.to_posix_errno() as usize), + frame, + show + ); } _ => {} } - normal_syscall_return!(Syscall::handle(syscall_num, &args, frame), frame, show); + syscall_return!( + Syscall::handle(syscall_num, &args, frame).unwrap_or_else(|e| e.to_posix_errno() as usize) + as u64, + frame, + show + ); } /// 系统调用初始化 @@ -179,4 +148,4 @@ pub(super) unsafe fn init_syscall_64() { // 初始化LSTAR,该寄存器存储syscall指令入口 x86::msr::wrmsr(x86::msr::IA32_LSTAR, syscall_64 as usize as u64); x86::msr::wrmsr(x86::msr::IA32_FMASK, 0xfffffffe); -} +} \ No newline at end of file diff --git a/kernel/src/arch/x86_64/syscall/nr.rs b/kernel/src/arch/x86_64/syscall/nr.rs index 594a76e7..fdec1722 100644 --- a/kernel/src/arch/x86_64/syscall/nr.rs +++ b/kernel/src/arch/x86_64/syscall/nr.rs @@ -354,382 +354,4 @@ pub const SYS_VSERVER: usize = 236; pub const SYS_WAIT4: usize = 61; pub const SYS_WAITID: usize = 247; pub const SYS_WRITE: usize = 1; -pub const SYS_WRITEV: usize = 20; - -use num_traits::{FromPrimitive, ToPrimitive}; -use system_error::SystemError; -#[allow(non_camel_case_types)] -#[derive(Debug, Clone, Copy, FromPrimitive, ToPrimitive, PartialEq, Eq)] -pub enum SysCall { - SYS__SYSCTL = 156, - SYS_ACCEPT = 43, - SYS_ACCEPT4 = 288, - SYS_ACCESS = 21, - SYS_ACCT = 163, - SYS_ADD_KEY = 248, - SYS_ADJTIMEX = 159, - SYS_AFS_SYSCALL = 183, - SYS_ALARM = 37, - SYS_ARCH_PRCTL = 158, - SYS_BIND = 49, - SYS_BPF = 321, - SYS_BRK = 12, - SYS_CAPGET = 125, - SYS_CAPSET = 126, - SYS_CHDIR = 80, - SYS_CHMOD = 90, - SYS_CHOWN = 92, - SYS_CHROOT = 161, - SYS_CLOCK_ADJTIME = 305, - SYS_CLOCK_GETRES = 229, - SYS_CLOCK_GETTIME = 228, - SYS_CLOCK_NANOSLEEP = 230, - SYS_CLOCK_SETTIME = 227, - SYS_CLONE = 56, - SYS_CLONE3 = 435, - SYS_CLOSE = 3, - SYS_CLOSE_RANGE = 436, - SYS_CONNECT = 42, - SYS_COPY_FILE_RANGE = 326, - SYS_CREAT = 85, - SYS_CREATE_MODULE = 174, - SYS_DELETE_MODULE = 176, - SYS_DUP = 32, - SYS_DUP2 = 33, - SYS_DUP3 = 292, - SYS_EPOLL_CREATE = 213, - SYS_EPOLL_CREATE1 = 291, - SYS_EPOLL_CTL = 233, - SYS_EPOLL_CTL_OLD = 214, - SYS_EPOLL_PWAIT = 281, - SYS_EPOLL_PWAIT2 = 441, - SYS_EPOLL_WAIT = 232, - SYS_EPOLL_WAIT_OLD = 215, - SYS_EVENTFD = 284, - SYS_EVENTFD2 = 290, - SYS_EXECVE = 59, - SYS_EXECVEAT = 322, - SYS_EXIT = 60, - SYS_EXIT_GROUP = 231, - SYS_FACCESSAT = 269, - SYS_FACCESSAT2 = 439, - SYS_FADVISE64 = 221, - SYS_FALLOCATE = 285, - SYS_FANOTIFY_INIT = 300, - SYS_FANOTIFY_MARK = 301, - SYS_FCHDIR = 81, - SYS_FCHMOD = 91, - SYS_FCHMODAT = 268, - SYS_FCHOWN = 93, - SYS_FCHOWNAT = 260, - SYS_FCNTL = 72, - SYS_FDATASYNC = 75, - SYS_FGETXATTR = 193, - SYS_FINIT_MODULE = 313, - SYS_FLISTXATTR = 196, - SYS_FLOCK = 73, - SYS_FORK = 57, - SYS_FREMOVEXATTR = 199, - SYS_FSCONFIG = 431, - SYS_FSETXATTR = 190, - SYS_FSMOUNT = 432, - SYS_FSOPEN = 430, - SYS_FSPICK = 433, - SYS_FSTAT = 5, - SYS_FSTATFS = 138, - SYS_FSYNC = 74, - SYS_FTRUNCATE = 77, - SYS_FUTEX = 202, - SYS_FUTIMESAT = 261, - SYS_GET_KERNEL_SYMS = 177, - SYS_GET_MEMPOLICY = 239, - SYS_GET_ROBUST_LIST = 274, - SYS_GET_THREAD_AREA = 211, - SYS_GETCPU = 309, - SYS_GETCWD = 79, - SYS_GETDENTS = 78, - SYS_GETDENTS64 = 217, - SYS_GETEGID = 108, - SYS_GETEUID = 107, - SYS_GETGID = 104, - SYS_GETGROUPS = 115, - SYS_GETITIMER = 36, - SYS_GETPEERNAME = 52, - SYS_GETPGID = 121, - SYS_GETPGRP = 111, - SYS_GETPID = 39, - SYS_GETPMSG = 181, - SYS_GETPPID = 110, - SYS_GETPRIORITY = 140, - SYS_GETRANDOM = 318, - SYS_GETRESGID = 120, - SYS_GETRESUID = 118, - SYS_GETRLIMIT = 97, - SYS_GETRUSAGE = 98, - SYS_GETSID = 124, - SYS_GETSOCKNAME = 51, - SYS_GETSOCKOPT = 55, - SYS_GETTID = 186, - SYS_GETTIMEOFDAY = 96, - SYS_GETUID = 102, - SYS_GETXATTR = 191, - SYS_INIT_MODULE = 175, - SYS_INOTIFY_ADD_WATCH = 254, - SYS_INOTIFY_INIT = 253, - SYS_INOTIFY_INIT1 = 294, - SYS_INOTIFY_RM_WATCH = 255, - SYS_IO_CANCEL = 210, - SYS_IO_DESTROY = 207, - SYS_IO_GETEVENTS = 208, - SYS_IO_PGETEVENTS = 333, - SYS_IO_SETUP = 206, - SYS_IO_SUBMIT = 209, - SYS_IO_URING_ENTER = 426, - SYS_IO_URING_REGISTER = 427, - SYS_IO_URING_SETUP = 425, - SYS_IOCTL = 16, - SYS_IOPERM = 173, - SYS_IOPL = 172, - SYS_IOPRIO_GET = 252, - SYS_IOPRIO_SET = 251, - SYS_KCMP = 312, - SYS_KEXEC_FILE_LOAD = 320, - SYS_KEXEC_LOAD = 246, - SYS_KEYCTL = 250, - SYS_KILL = 62, - SYS_LCHOWN = 94, - SYS_LGETXATTR = 192, - SYS_LINK = 86, - SYS_LINKAT = 265, - SYS_LISTEN = 50, - SYS_LISTXATTR = 194, - SYS_LLISTXATTR = 195, - SYS_LOOKUP_DCOOKIE = 212, - SYS_LREMOVEXATTR = 198, - SYS_LSEEK = 8, - SYS_LSETXATTR = 189, - SYS_LSTAT = 6, - SYS_MADVISE = 28, - SYS_MBIND = 237, - SYS_MEMBARRIER = 324, - SYS_MEMFD_CREATE = 319, - SYS_MIGRATE_PAGES = 256, - SYS_MINCORE = 27, - SYS_MKDIR = 83, - SYS_MKDIRAT = 258, - SYS_MKNOD = 133, - SYS_MKNODAT = 259, - SYS_MLOCK = 149, - SYS_MLOCK2 = 325, - SYS_MLOCKALL = 151, - SYS_MMAP = 9, - SYS_MODIFY_LDT = 154, - SYS_MOUNT = 165, - SYS_MOUNT_SETATTR = 442, - SYS_MOVE_MOUNT = 429, - SYS_MOVE_PAGES = 279, - SYS_MPROTECT = 10, - SYS_MQ_GETSETATTR = 245, - SYS_MQ_NOTIFY = 244, - SYS_MQ_OPEN = 240, - SYS_MQ_TIMEDRECEIVE = 243, - SYS_MQ_TIMEDSEND = 242, - SYS_MQ_UNLINK = 241, - SYS_MREMAP = 25, - SYS_MSGCTL = 71, - SYS_MSGGET = 68, - SYS_MSGRCV = 70, - SYS_MSGSND = 69, - SYS_MSYNC = 26, - SYS_MUNLOCK = 150, - SYS_MUNLOCKALL = 152, - SYS_MUNMAP = 11, - SYS_NAME_TO_HANDLE_AT = 303, - SYS_NANOSLEEP = 35, - SYS_NEWFSTATAT = 262, - SYS_NFSSERVCTL = 180, - SYS_OPEN = 2, - SYS_OPEN_BY_HANDLE_AT = 304, - SYS_OPEN_TREE = 428, - SYS_OPENAT = 257, - SYS_OPENAT2 = 437, - SYS_PAUSE = 34, - SYS_PERF_EVENT_OPEN = 298, - SYS_PERSONALITY = 135, - SYS_PIDFD_GETFD = 438, - SYS_PIDFD_OPEN = 434, - SYS_PIDFD_SEND_SIGNAL = 424, - SYS_PIPE = 22, - SYS_PIPE2 = 293, - SYS_PIVOT_ROOT = 155, - SYS_PKEY_ALLOC = 330, - SYS_PKEY_FREE = 331, - SYS_PKEY_MPROTECT = 329, - SYS_POLL = 7, - SYS_PPOLL = 271, - SYS_PRCTL = 157, - SYS_PREAD64 = 17, - SYS_PREADV = 295, - SYS_PREADV2 = 327, - SYS_PRLIMIT64 = 302, - SYS_PROCESS_MADVISE = 440, - SYS_PROCESS_VM_READV = 310, - SYS_PROCESS_VM_WRITEV = 311, - SYS_PSELECT6 = 270, - SYS_PTRACE = 101, - SYS_PUTPMSG = 182, - SYS_PWRITE64 = 18, - SYS_PWRITEV = 296, - SYS_PWRITEV2 = 328, - SYS_QUERY_MODULE = 178, - SYS_QUOTACTL = 179, - SYS_READ = 0, - SYS_READAHEAD = 187, - SYS_READLINK = 89, - SYS_READLINKAT = 267, - SYS_READV = 19, - SYS_REBOOT = 169, - SYS_RECVFROM = 45, - SYS_RECVMMSG = 299, - SYS_RECVMSG = 47, - SYS_REMAP_FILE_PAGES = 216, - SYS_REMOVEXATTR = 197, - SYS_RENAME = 82, - SYS_RENAMEAT = 264, - SYS_RENAMEAT2 = 316, - SYS_REQUEST_KEY = 249, - SYS_RESTART_SYSCALL = 219, - SYS_RMDIR = 84, - SYS_RSEQ = 334, - SYS_RT_SIGACTION = 13, - SYS_RT_SIGPENDING = 127, - SYS_RT_SIGPROCMASK = 14, - SYS_RT_SIGQUEUEINFO = 129, - SYS_RT_SIGRETURN = 15, - SYS_RT_SIGSUSPEND = 130, - SYS_RT_SIGTIMEDWAIT = 128, - SYS_RT_TGSIGQUEUEINFO = 297, - SYS_SCHED_GET_PRIORITY_MAX = 146, - SYS_SCHED_GET_PRIORITY_MIN = 147, - SYS_SCHED_GETAFFINITY = 204, - SYS_SCHED_GETATTR = 315, - SYS_SCHED_GETPARAM = 143, - SYS_SCHED_GETSCHEDULER = 145, - SYS_SCHED_RR_GET_INTERVAL = 148, - SYS_SCHED_SETAFFINITY = 203, - SYS_SCHED_SETATTR = 314, - SYS_SCHED_SETPARAM = 142, - SYS_SCHED_SETSCHEDULER = 144, - SYS_SCHED_YIELD = 24, - SYS_SECCOMP = 317, - SYS_SECURITY = 185, - SYS_SELECT = 23, - SYS_SEMCTL = 66, - SYS_SEMGET = 64, - SYS_SEMOP = 65, - SYS_SEMTIMEDOP = 220, - SYS_SENDFILE = 40, - SYS_SENDMMSG = 307, - SYS_SENDMSG = 46, - SYS_SENDTO = 44, - SYS_SET_MEMPOLICY = 238, - SYS_SET_ROBUST_LIST = 273, - SYS_SET_THREAD_AREA = 205, - SYS_SET_TID_ADDRESS = 218, - SYS_SETDOMAINNAME = 171, - SYS_SETFSGID = 123, - SYS_SETFSUID = 122, - SYS_SETGID = 106, - SYS_SETGROUPS = 116, - SYS_SETHOSTNAME = 170, - SYS_SETITIMER = 38, - SYS_SETNS = 308, - SYS_SETPGID = 109, - SYS_SETPRIORITY = 141, - SYS_SETREGID = 114, - SYS_SETRESGID = 119, - SYS_SETRESUID = 117, - SYS_SETREUID = 113, - SYS_SETRLIMIT = 160, - SYS_SETSID = 112, - SYS_SETSOCKOPT = 54, - SYS_SETTIMEOFDAY = 164, - SYS_SETUID = 105, - SYS_SETXATTR = 188, - SYS_SHMAT = 30, - SYS_SHMCTL = 31, - SYS_SHMDT = 67, - SYS_SHMGET = 29, - SYS_SHUTDOWN = 48, - SYS_SIGALTSTACK = 131, - SYS_SIGNALFD = 282, - SYS_SIGNALFD4 = 289, - SYS_SOCKET = 41, - SYS_SOCKETPAIR = 53, - SYS_SPLICE = 275, - SYS_STAT = 4, - SYS_STATFS = 137, - SYS_STATX = 332, - SYS_SWAPOFF = 168, - SYS_SWAPON = 167, - SYS_SYMLINK = 88, - SYS_SYMLINKAT = 266, - SYS_SYNC = 162, - SYS_SYNC_FILE_RANGE = 277, - SYS_SYNCFS = 306, - SYS_SYSFS = 139, - SYS_SYSINFO = 99, - SYS_SYSLOG = 103, - SYS_TEE = 276, - SYS_TGKILL = 234, - SYS_TIME = 201, - SYS_TIMER_CREATE = 222, - SYS_TIMER_DELETE = 226, - SYS_TIMER_GETOVERRUN = 225, - SYS_TIMER_GETTIME = 224, - SYS_TIMER_SETTIME = 223, - SYS_TIMERFD_CREATE = 283, - SYS_TIMERFD_GETTIME = 287, - SYS_TIMERFD_SETTIME = 286, - SYS_TIMES = 100, - SYS_TKILL = 200, - SYS_TRUNCATE = 76, - SYS_TUXCALL = 184, - SYS_UMASK = 95, - SYS_UMOUNT2 = 166, - SYS_UNAME = 63, - SYS_UNLINK = 87, - SYS_UNLINKAT = 263, - SYS_UNSHARE = 272, - SYS_USELIB = 134, - SYS_USERFAULTFD = 323, - SYS_USTAT = 136, - SYS_UTIME = 132, - SYS_UTIMENSAT = 280, - SYS_UTIMES = 235, - SYS_VFORK = 58, - SYS_VHANGUP = 153, - SYS_VMSPLICE = 278, - SYS_VSERVER = 236, - SYS_WAIT4 = 61, - SYS_WAITID = 247, - SYS_WRITE = 1, - SYS_WRITEV = 20, -} - -impl TryFrom for SysCall { - type Error = SystemError; - - fn try_from(value: usize) -> Result { - match ::from_usize(value) { - Some(p) => Ok(p), - None => Err(SystemError::EINVAL), - } - } -} - -impl From for usize { - fn from(value: SysCall) -> Self { - ::to_usize(&value).unwrap() - } -} +pub const SYS_WRITEV: usize = 20; \ No newline at end of file diff --git a/kernel/src/driver/base/device/mod.rs b/kernel/src/driver/base/device/mod.rs index 108508c9..332f7067 100644 --- a/kernel/src/driver/base/device/mod.rs +++ b/kernel/src/driver/base/device/mod.rs @@ -506,7 +506,7 @@ impl DeviceManager { } let kobject_parent = self.get_device_parent(&device, deivce_parent)?; if let Some(ref kobj) = kobject_parent { - log::info!("kobject parent: {:?}", kobj.name()); + log::debug!("kobject parent: {:?}", kobj.name()); } if let Some(kobject_parent) = kobject_parent { // debug!( diff --git a/kernel/src/net/socket/definition/mod.rs b/kernel/src/net/socket/definition/mod.rs index da147f6c..4510cc1b 100644 --- a/kernel/src/net/socket/definition/mod.rs +++ b/kernel/src/net/socket/definition/mod.rs @@ -1,12 +1,10 @@ // socket definitions -mod option; -mod option_level; mod msg_flag; +mod option; +mod option_level; mod types; +pub use msg_flag::MessageFlag; // Socket message flags MSG_* pub use option::Options; // Socket options SO_* pub use option_level::OptionLevel; // Socket options level SOL_* -pub use msg_flag::MessageFlag; // Socket message flags MSG_* pub use types::Type; // Socket types SOCK_* - - diff --git a/kernel/src/net/socket/inet/stream/mod.rs b/kernel/src/net/socket/inet/stream/mod.rs index 5e9a16ae..4cabdb0e 100644 --- a/kernel/src/net/socket/inet/stream/mod.rs +++ b/kernel/src/net/socket/inet/stream/mod.rs @@ -20,6 +20,7 @@ type EP = EPollEventType; #[derive(Debug)] pub struct TcpSocket { inner: RwLock>, + #[allow(dead_code)] shutdown: Shutdown, // TODO set shutdown status nonblock: AtomicBool, wait_queue: WaitQueue, diff --git a/kernel/src/net/socket/inet/stream/option.rs b/kernel/src/net/socket/inet/stream/option.rs index 06752aec..7008112e 100644 --- a/kernel/src/net/socket/inet/stream/option.rs +++ b/kernel/src/net/socket/inet/stream/option.rs @@ -40,6 +40,7 @@ pub enum Options { Repair = 19, RepairQueue = 20, QueueSeq = 21, + #[allow(clippy::enum_variant_names)] RepairOptions = 22, /// Enable FastOpen on listeners FastOpen = 23, diff --git a/kernel/src/net/socket/inode.rs b/kernel/src/net/socket/inode.rs index b68c95ac..8696f589 100644 --- a/kernel/src/net/socket/inode.rs +++ b/kernel/src/net/socket/inode.rs @@ -47,10 +47,7 @@ impl IndexNode for Inode { unimplemented!() } - fn poll( - &self, - _: &crate::filesystem::vfs::FilePrivateData, - ) -> Result { + fn poll(&self, _: &crate::filesystem::vfs::FilePrivateData) -> Result { Ok(self.inner.poll()) } diff --git a/kernel/src/net/syscall.rs b/kernel/src/net/syscall.rs index 16567641..f17025b3 100644 --- a/kernel/src/net/syscall.rs +++ b/kernel/src/net/syscall.rs @@ -8,7 +8,7 @@ use crate::{ syscall::Syscall, }; -use super::socket::{self, Endpoint, unix::Unix, AddressFamily as AF}; +use super::socket::{self, unix::Unix, AddressFamily as AF, Endpoint}; pub use super::syscall_util::*; @@ -81,7 +81,11 @@ impl Syscall { // check address family, only support AF_UNIX if address_family != AF::Unix { - log::warn!("only support AF_UNIX, {:?} with protocol {:?} is not supported", address_family, protocol); + log::warn!( + "only support AF_UNIX, {:?} with protocol {:?} is not supported", + address_family, + protocol + ); return Err(SystemError::EAFNOSUPPORT); } @@ -140,8 +144,8 @@ impl Syscall { let level = socket::OptionLevel::try_from(level as u32)?; - use socket::Options as SO; use socket::OptionLevel as SOL; + use socket::Options as SO; if matches!(level, SOL::SOCKET) { let optname = SO::try_from(optname as u32).map_err(|_| ENOPROTOOPT)?; match optname { @@ -176,8 +180,7 @@ impl Syscall { if matches!(level, SOL::TCP) { use socket::inet::stream::TcpOption; - let optname = - TcpOption::try_from(optname as i32).map_err(|_| ENOPROTOOPT)?; + let optname = TcpOption::try_from(optname as i32).map_err(|_| ENOPROTOOPT)?; match optname { TcpOption::Congestion => return Ok(0), _ => { diff --git a/kernel/src/net/syscall_util.rs b/kernel/src/net/syscall_util.rs index 350f1880..24accace 100644 --- a/kernel/src/net/syscall_util.rs +++ b/kernel/src/net/syscall_util.rs @@ -35,12 +35,10 @@ use alloc::sync::Arc; use core::ffi::CStr; use crate::{ - filesystem::vfs::{ - FileType, IndexNode, ROOT_INODE, VFS_MAX_FOLLOW_SYMLINK_TIMES, - }, + filesystem::vfs::{FileType, IndexNode, ROOT_INODE, VFS_MAX_FOLLOW_SYMLINK_TIMES}, mm::{verify_area, VirtAddr}, net::socket::*, - process::ProcessManager + process::ProcessManager, }; use smoltcp; use system_error::SystemError;