From 73c3d8bb79fc5463d8cfec97d03d194a4bf25330 Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Wed, 1 Mar 2023 17:09:13 +0100 Subject: [PATCH] Allow root to remove other users' files. --- src/mount/redox/scheme.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mount/redox/scheme.rs b/src/mount/redox/scheme.rs index cd52fbaeb7..0a135fd2fa 100644 --- a/src/mount/redox/scheme.rs +++ b/src/mount/redox/scheme.rs @@ -481,6 +481,9 @@ impl SchemeMut for FileScheme { let scheme_name = &self.name; self.fs.tx(|tx| { let mut nodes = Vec::new(); + + // TODO: Clean up indentation using let-else, possibly elsewhere too. + if let Some((child, child_name)) = Self::path_nodes(scheme_name, tx, path, uid, gid, &mut nodes)? { @@ -491,7 +494,7 @@ impl SchemeMut for FileScheme { } if !child.data().is_dir() { - if child.data().uid() != uid { + if child.data().uid() != uid && uid != 0 { // println!("file not owned by current user {}", parent.1.uid); return Err(Error::new(EACCES)); }