From d80e25068c626f5493b0a58ae72cc7e25ca6fa1e Mon Sep 17 00:00:00 2001 From: Philip Homburg Date: Mon, 23 Apr 2007 13:28:14 +0000 Subject: [PATCH] GET_PRIVID: return the ID of a process' privilege structure. --- kernel/system/do_getinfo.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kernel/system/do_getinfo.c b/kernel/system/do_getinfo.c index d365105a6..d51e227ae 100644 --- a/kernel/system/do_getinfo.c +++ b/kernel/system/do_getinfo.c @@ -36,7 +36,7 @@ register message *m_ptr; /* pointer to request message */ int proc_nr, nr_e, nr; /* Set source address and length based on request type. */ - switch (m_ptr->I_REQUEST) { + switch (m_ptr->I_REQUEST) { case GET_MACHINE: { length = sizeof(struct machine); src_phys = vir2phys(&machine); @@ -150,7 +150,13 @@ register message *m_ptr; /* pointer to request message */ break; } + case GET_PRIVID: + if (!isokendpt(m_ptr->I_VAL_LEN2_E, &proc_nr)) + return EINVAL; + return proc_addr(proc_nr)->p_priv->s_id; + default: + kprintf("do_getinfo: invalid request %d\n", m_ptr->I_REQUEST); return(EINVAL); } -- 2.44.0