From 81e4c904498440a3b25161569e257a69508b8ca3 Mon Sep 17 00:00:00 2001 From: Ruihan Li Date: Thu, 5 Feb 2026 10:10:00 +0800 Subject: [PATCH] Enable more regression tests --- kernel/src/fs/procfs/pid/task/status.rs | 19 +++++ kernel/src/process/signal/signals/user.rs | 10 +-- .../src/syscall/gvisor/blocklists/uidgid_test | 4 - .../src/syscall/ltp/testcases/all.txt | 74 +++++++++---------- .../syscall/ltp/testcases/blocked/exfat.txt | 3 + 5 files changed, 63 insertions(+), 47 deletions(-) delete mode 100644 test/initramfs/src/syscall/gvisor/blocklists/uidgid_test diff --git a/kernel/src/fs/procfs/pid/task/status.rs b/kernel/src/fs/procfs/pid/task/status.rs index 1f95d554f..15121b434 100644 --- a/kernel/src/fs/procfs/pid/task/status.rs +++ b/kernel/src/fs/procfs/pid/task/status.rs @@ -109,6 +109,25 @@ impl FileOps for StatusFileOps { writeln!(printer, "Pid:\t{}", posix_thread.tid())?; writeln!(printer, "PPid:\t{}", process.parent().pid())?; writeln!(printer, "TracerPid:\t{}", 0)?; + + let credentials = posix_thread.credentials(); + writeln!( + printer, + "Uid:\t{}\t{}\t{}\t{}", + u32::from(credentials.ruid()), + u32::from(credentials.euid()), + u32::from(credentials.suid()), + u32::from(credentials.fsuid()), + )?; + writeln!( + printer, + "Gid:\t{}\t{}\t{}\t{}", + u32::from(credentials.rgid()), + u32::from(credentials.egid()), + u32::from(credentials.sgid()), + u32::from(credentials.fsgid()), + )?; + writeln!( printer, "FDSize:\t{}", diff --git a/kernel/src/process/signal/signals/user.rs b/kernel/src/process/signal/signals/user.rs index b0323166e..2a41cc4ba 100644 --- a/kernel/src/process/signal/signals/user.rs +++ b/kernel/src/process/signal/signals/user.rs @@ -58,11 +58,9 @@ impl Signal for UserSignal { UserSignalKind::Sigqueue => SI_QUEUE, }; - siginfo_t::new(self.num, code) - // info.set_si_pid(self.pid); - // info.set_si_uid(self.uid); - // if let UserSignalKind::Sigqueue(val) = self.kind { - // info.set_si_value(val); - // } + let mut info = siginfo_t::new(self.num, code); + info.set_pid_uid(self.pid, self.uid); + + info } } diff --git a/test/initramfs/src/syscall/gvisor/blocklists/uidgid_test b/test/initramfs/src/syscall/gvisor/blocklists/uidgid_test deleted file mode 100644 index 2648a9557..000000000 --- a/test/initramfs/src/syscall/gvisor/blocklists/uidgid_test +++ /dev/null @@ -1,4 +0,0 @@ -UidGidRootTest.Setgid -UidGidRootTest.SetgidNotFromThreadGroupLeader -UidGidRootTest.Setregid -UidGidRootTest.Setresgid \ No newline at end of file diff --git a/test/initramfs/src/syscall/ltp/testcases/all.txt b/test/initramfs/src/syscall/ltp/testcases/all.txt index 40e91dced..ed2a9431a 100644 --- a/test/initramfs/src/syscall/ltp/testcases/all.txt +++ b/test/initramfs/src/syscall/ltp/testcases/all.txt @@ -470,19 +470,19 @@ getcwd03 getdomainname01 -# getegid01 +getegid01 # getegid01_16 -# getegid02 +getegid02 # getegid02_16 geteuid01 # geteuid01_16 -# geteuid02 +geteuid02 # geteuid02_16 -# getgid01 +getgid01 # getgid01_16 -# getgid03 +getgid03 # getgid03_16 getgroups01 @@ -526,16 +526,16 @@ getrandom05 getresgid01 # getresgid01_16 -# getresgid02 +getresgid02 # getresgid02_16 -# getresgid03 +getresgid03 # getresgid03_16 getresuid01 # getresuid01_16 -# getresuid02 +getresuid02 # getresuid02_16 -# getresuid03 +getresuid03 # getresuid03_16 getrlimit01 @@ -567,7 +567,7 @@ gettimeofday02 getuid01 # getuid01_16 -# getuid03 +getuid03 # getuid03_16 getxattr01 @@ -1380,34 +1380,33 @@ set_robust_list01 setdomainname01 setdomainname02 -# TODO: Drop capabilities on UID changes, so that setdomainname() will fail with EPERM. -# setdomainname03 +setdomainname03 -# setfsgid01 +setfsgid01 # setfsgid01_16 -# setfsgid02 +setfsgid02 # setfsgid02_16 -# setfsgid03 +setfsgid03 # setfsgid03_16 -# setfsuid01 +setfsuid01 # setfsuid01_16 setfsuid02 # setfsuid02_16 -# setfsuid03 +setfsuid03 # setfsuid03_16 -# setfsuid04 +setfsuid04 # setfsuid04_16 setgid01 # setgid01_16 -# setgid02 +setgid02 # setgid02_16 -# setgid03 +setgid03 # setgid03_16 -# setegid01 -# setegid02 +setegid01 +setegid02 # sgetmask01 @@ -1420,8 +1419,7 @@ setgroups02 sethostname01 sethostname02 -# TODO: Drop capabilities on UID changes, so that sethostname() will fail with EPERM. -# sethostname03 +sethostname03 # setitimer01 setitimer02 @@ -1441,46 +1439,48 @@ setpgrp02 setregid01 # setregid01_16 -# setregid02 +setregid02 # setregid02_16 -# setregid03 +setregid03 # setregid03_16 -# setregid04 +setregid04 # setregid04_16 -# setresgid01 +setresgid01 # setresgid01_16 -# setresgid02 +setresgid02 # setresgid02_16 -# setresgid03 +setresgid03 # setresgid03_16 +# TODO: Fix the GID of newly created files. # setresgid04 # setresgid04_16 -# setresuid01 +setresuid01 # setresuid01_16 setresuid02 # setresuid02_16 setresuid03 # setresuid03_16 -# setresuid04 +setresuid04 # setresuid04_16 +# TODO: Fix the UID of newly created files. # setresuid05 # setresuid05_16 setreuid01 # setreuid01_16 -# setreuid02 +setreuid02 # setreuid02_16 -# setreuid03 +setreuid03 # setreuid03_16 setreuid04 # setreuid04_16 -# setreuid05 +setreuid05 # setreuid05_16 setreuid06 # setreuid06_16 -# setreuid07 +setreuid07 # setreuid07_16 # setrlimit01 @@ -1508,7 +1508,7 @@ setsockopt03 setuid01 # setuid01_16 -# setuid03 +setuid03 # setuid03_16 setuid04 # setuid04_16 diff --git a/test/initramfs/src/syscall/ltp/testcases/blocked/exfat.txt b/test/initramfs/src/syscall/ltp/testcases/blocked/exfat.txt index 546cd5019..f02c24a94 100644 --- a/test/initramfs/src/syscall/ltp/testcases/blocked/exfat.txt +++ b/test/initramfs/src/syscall/ltp/testcases/blocked/exfat.txt @@ -73,6 +73,9 @@ sendfile06 sendfile06_64 sendfile08 sendfile08_64 +setfsuid04 +setresuid04 +setreuid07 setuid04 stat02 stat02_64