From 9608a57cb0496ec2da69de33bd40b3945afb17d6 Mon Sep 17 00:00:00 2001 From: anbo225 Date: Fri, 29 Nov 2024 14:28:05 +0800 Subject: [PATCH] Make sys_setuid and sys_setgid behave consistently with Linux --- kernel/src/process/credentials/credentials_.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kernel/src/process/credentials/credentials_.rs b/kernel/src/process/credentials/credentials_.rs index 9a601fadb..5583c15c7 100644 --- a/kernel/src/process/credentials/credentials_.rs +++ b/kernel/src/process/credentials/credentials_.rs @@ -97,8 +97,10 @@ impl Credentials_ { self.ruid.store(uid, Ordering::Relaxed); self.euid.store(uid, Ordering::Relaxed); self.suid.store(uid, Ordering::Relaxed); + self.fsuid.store(uid, Ordering::Relaxed); } else { self.euid.store(uid, Ordering::Relaxed); + self.fsuid.store(uid, Ordering::Relaxed); } } @@ -254,8 +256,10 @@ impl Credentials_ { self.rgid.store(gid, Ordering::Relaxed); self.egid.store(gid, Ordering::Relaxed); self.sgid.store(gid, Ordering::Relaxed); + self.fsgid.store(gid, Ordering::Relaxed); } else { self.egid.store(gid, Ordering::Relaxed); + self.fsgid.store(gid, Ordering::Relaxed); } }