From 539dc5a24e76f789327e54f1d7869fd0002e5d2a Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Wed, 25 Sep 2024 19:38:48 +0200 Subject: [PATCH] Remove SYS_UMASK. --- Cargo.lock | 2 +- src/context/process.rs | 2 -- src/main.rs | 1 - src/syscall/debug.rs | 1 - src/syscall/fs.rs | 12 ++---------- src/syscall/mod.rs | 1 - src/syscall/process.rs | 12 ------------ syscall | 2 +- 8 files changed, 4 insertions(+), 29 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a10cec34cf..e2ea44442b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -224,7 +224,7 @@ checksum = "64072665120942deff5fd5425d6c1811b854f4939e7f1c01ce755f64432bbea7" [[package]] name = "redox_syscall" -version = "0.5.4" +version = "0.5.6" dependencies = [ "bitflags 2.4.2", ] diff --git a/src/context/process.rs b/src/context/process.rs index ef59117634..e31c06d0d1 100644 --- a/src/context/process.rs +++ b/src/context/process.rs @@ -54,8 +54,6 @@ pub struct ProcessInfo { pub egid: u32, /// The effective namespace id pub ens: SchemeNamespace, - /// Process umask - pub umask: usize, } impl Deref for Process { type Target = ProcessInfo; diff --git a/src/main.rs b/src/main.rs index e8e52e8241..0a6eaf1ca0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -213,7 +213,6 @@ fn kmain(cpu_count: u32, bootstrap: Bootstrap) -> ! { egid: 0, rns: SchemeNamespace::new(0), ens: SchemeNamespace::new(0), - umask: 0o22, }) .expect("failed to create init process"); diff --git a/src/syscall/debug.rs b/src/syscall/debug.rs index 0e13682ffe..ebb43d6b7e 100644 --- a/src/syscall/debug.rs +++ b/src/syscall/debug.rs @@ -190,7 +190,6 @@ pub fn format_call(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize) - SYS_SETREGID => format!("setregid({}, {})", b, c), SYS_SETRENS => format!("setrens({}, {})", b, c), SYS_SETREUID => format!("setreuid({}, {})", b, c), - SYS_UMASK => format!("umask({:#o}", b), SYS_WAITPID => format!("waitpid({}, {:#X}, {:?})", b, c, WaitFlags::from_bits(d)), SYS_YIELD => format!("yield()"), _ => format!( diff --git a/src/syscall/fs.rs b/src/syscall/fs.rs index cb9c5009dc..43fbdbc234 100644 --- a/src/syscall/fs.rs +++ b/src/syscall/fs.rs @@ -55,18 +55,10 @@ const PATH_MAX: usize = PAGE_SIZE; /// Open syscall pub fn open(raw_path: UserSliceRo, flags: usize) -> Result { - let (pid, uid, gid, scheme_ns, umask) = match process::current()?.read() { - ref process => ( - process.pid.into(), - process.euid, - process.egid, - process.ens, - process.umask, - ), + let (pid, uid, gid, scheme_ns) = match process::current()?.read() { + ref process => (process.pid.into(), process.euid, process.egid, process.ens), }; - let flags = (flags & (!0o777)) | ((flags & 0o777) & (!(umask & 0o777))); - // TODO: BorrowedHtBuf! /* diff --git a/src/syscall/mod.rs b/src/syscall/mod.rs index d47af14829..6ac1bfa1ee 100644 --- a/src/syscall/mod.rs +++ b/src/syscall/mod.rs @@ -238,7 +238,6 @@ pub fn syscall( SYS_SETREUID => setreuid(b as u32, c as u32).map(|()| 0), SYS_SETRENS => setrens(SchemeNamespace::from(b), SchemeNamespace::from(c)).map(|()| 0), SYS_SETREGID => setregid(b as u32, c as u32).map(|()| 0), - SYS_UMASK => umask(b), SYS_VIRTTOPHYS => virttophys(b), SYS_MREMAP => mremap(b, c, d, e, f), diff --git a/src/syscall/process.rs b/src/syscall/process.rs index 149c777eef..e5d986290d 100644 --- a/src/syscall/process.rs +++ b/src/syscall/process.rs @@ -620,18 +620,6 @@ pub fn setpgid(pid: ProcessId, pgid: ProcessId) -> Result<()> { } } -pub fn umask(mask: usize) -> Result { - let previous; - { - let process_lock = process::current()?; - let mut process = process_lock.write(); - previous = process.umask; - process.umask = mask; - } - - Ok(previous) -} - fn reap(pid: ProcessId) -> Result { let process_lock = Arc::clone( process::PROCESSES diff --git a/syscall b/syscall index c2c69e6282..c910533bcb 160000 --- a/syscall +++ b/syscall @@ -1 +1 @@ -Subproject commit c2c69e6282da0d62fdf2a2ac189e9fa6ce925ab1 +Subproject commit c910533bcbb2c7f9e8ef3628b012bfc70c2c33c9