From 7541e0753bd308f86d310017bdb94487eaabec4b Mon Sep 17 00:00:00 2001 From: Philip Homburg Date: Mon, 23 Apr 2007 13:30:04 +0000 Subject: [PATCH] Separate permissions for sendrec. Actually initialize send/sendrec permissions for data supplied by rs. --- kernel/system/do_privctl.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kernel/system/do_privctl.c b/kernel/system/do_privctl.c index f8acdcb51..a28d3c128 100644 --- a/kernel/system/do_privctl.c +++ b/kernel/system/do_privctl.c @@ -81,6 +81,11 @@ message *m_ptr; /* pointer to request message */ } } + for (i=0; ip_priv->s_ipc_sendrec.chunk[i] = FILLED_MASK; + } + unset_sys_bit(rp->p_priv->s_ipc_sendrec, USER_PRIV_ID); + /* No I/O resources, no memory resources, no IRQs, no grant table */ priv(rp)->s_nr_io_range= 0; priv(rp)->s_nr_mem_range= 0; @@ -137,6 +142,10 @@ message *m_ptr; /* pointer to request message */ memcpy(priv(rp)->s_k_call_mask, priv.s_k_call_mask, sizeof(priv(rp)->s_k_call_mask)); + memcpy(&priv(rp)->s_ipc_to, &priv.s_ipc_to, + sizeof(priv(rp)->s_ipc_to)); + memcpy(&priv(rp)->s_ipc_sendrec, &priv.s_ipc_sendrec, + sizeof(priv(rp)->s_ipc_sendrec)); } /* Done. Privileges have been set. Allow process to run again. */ -- 2.44.0