Skip to content

Commit d2a0675

Browse files
committed
stub getgroups
1 parent ec81b5f commit d2a0675

2 files changed

Lines changed: 13 additions & 3 deletions

File tree

src/arch/arm64/exceptions/syscall.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ use crate::{
7373
caps::{sys_capget, sys_capset},
7474
clone::sys_clone,
7575
creds::{
76-
sys_getegid, sys_geteuid, sys_getgid, sys_getresgid, sys_getresuid, sys_getsid,
77-
sys_gettid, sys_getuid, sys_setfsgid, sys_setfsuid, sys_setgid, sys_setregid,
78-
sys_setresgid, sys_setresuid, sys_setreuid, sys_setsid, sys_setuid,
76+
sys_getegid, sys_geteuid, sys_getgid, sys_getgroups, sys_getresgid, sys_getresuid,
77+
sys_getsid, sys_gettid, sys_getuid, sys_setfsgid, sys_setfsuid, sys_setgid,
78+
sys_setregid, sys_setresgid, sys_setresuid, sys_setreuid, sys_setsid, sys_setuid,
7979
},
8080
epoll::{sys_epoll_create1, sys_epoll_ctl, sys_epoll_pwait},
8181
exec::sys_execve,
@@ -620,6 +620,7 @@ pub async fn handle_syscall(mut ctx: ProcessCtx) {
620620
0x9b => sys_getpgid(&ctx, arg1 as _),
621621
0x9c => sys_getsid(&ctx).await,
622622
0x9d => sys_setsid(&ctx).await,
623+
0x9e => sys_getgroups(&ctx, arg1 as _, TUA::from_value(arg2 as _)).map_err(|e| match e {}),
623624
0xa0 => sys_uname(TUA::from_value(arg1 as _)).await,
624625
0xa1 => sys_sethostname(&ctx, TUA::from_value(arg1 as _), arg2 as _).await,
625626
0xa3 => Err(KernelError::InvalidValue),

src/process/creds.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,15 @@ pub fn sys_setfsgid(ctx: &ProcessCtx, _new_id: usize) -> core::result::Result<us
328328
sys_getgid(ctx)
329329
}
330330

331+
pub fn sys_getgroups(
332+
_ctx: &ProcessCtx,
333+
_size: usize,
334+
_list: TUA<Gid>,
335+
) -> core::result::Result<usize, Infallible> {
336+
// Supplementary groups are not implemented yet.
337+
Ok(0)
338+
}
339+
331340
pub fn sys_gettid(ctx: &ProcessCtx) -> core::result::Result<usize, Infallible> {
332341
let tid: u32 = ctx.shared().tid.0;
333342

0 commit comments

Comments
 (0)