Kernel, libc: Expose processes' UID and GID in pstat()
This commit is contained in:
parent
acdc2d3ad7
commit
09a615bd99
@ -17,8 +17,8 @@ pid_t get_current_max_threads()
|
||||
|
||||
void display_process(struct pstat* pstatbuf)
|
||||
{
|
||||
printf("%ld %ld %s %s (%ld ms)\n", pstatbuf->pt_pid, pstatbuf->pt_ppid, pstatbuf->pt_name, pstatname(pstatbuf),
|
||||
pstatbuf->pt_time);
|
||||
printf("%d %d %ld %ld %s %s (%ld ms)\n", pstatbuf->pt_uid, pstatbuf->pt_gid, pstatbuf->pt_pid, pstatbuf->pt_ppid,
|
||||
pstatbuf->pt_name, pstatname(pstatbuf), pstatbuf->pt_time);
|
||||
}
|
||||
|
||||
int try_pstat(pid_t pid, struct pstat* pstatbuf)
|
||||
|
@ -615,6 +615,8 @@ struct pstat
|
||||
char pt_name[128];
|
||||
int pt_state;
|
||||
long pt_time;
|
||||
uid_t pt_uid;
|
||||
gid_t pt_gid;
|
||||
};
|
||||
|
||||
void sys_pstat(Context* context, long pid, struct pstat* buf)
|
||||
@ -647,6 +649,8 @@ void sys_pstat(Context* context, long pid, struct pstat* buf)
|
||||
kpstat->pt_ppid = task->ppid;
|
||||
kpstat->pt_state = (int)task->state;
|
||||
kpstat->pt_time = (long)task->cpu_time;
|
||||
kpstat->pt_uid = task->uid;
|
||||
kpstat->pt_gid = task->gid;
|
||||
strlcpy(kpstat->pt_name, task->name, sizeof(kpstat->pt_name));
|
||||
release_user_ref(kpstat);
|
||||
}
|
||||
|
@ -10,6 +10,8 @@ struct pstat
|
||||
char pt_name[128];
|
||||
int pt_state;
|
||||
long pt_time;
|
||||
uid_t pt_uid;
|
||||
gid_t pt_gid;
|
||||
};
|
||||
|
||||
#define PT_IDLE 0
|
||||
|
Loading…
Reference in New Issue
Block a user