]> Zhao Yanbai Git Server - minix.git/commitdiff
Message type for PM_GETUID
authorLionel Sambuc <lionel@minix3.org>
Tue, 13 May 2014 12:41:26 +0000 (14:41 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:05:36 +0000 (17:05 +0200)
Change-Id: I9a04f5a8b0e9099e0df543bcf76b2610a8803b9a

include/minix/callnr.h
include/minix/ipc.h
lib/libc/sys-minix/geteuid.c
servers/pm/getset.c

index 7a4031149c94e2c51603a97e3918dabca69f84d3..813d9d03ffd79c898e1be6cc72921ca537b64b48 100644 (file)
@@ -85,9 +85,6 @@
 #define PM_SIG_SET             m2_sigset /* sigset_t */
 #define PM_SIG_CTX             m2_p1   /* struct sigcontext * */
 
-/* Field names for the getuid(2) call. */
-#define PM_GETUID_EUID         m1_i1   /* uid_t */
-
 /* Field names for the getgid(2) call. */
 #define PM_GETGID_EGID         m1_i1   /* gid_t */
 
index 03463e7efd62812f564509ca67e453cd3953cc6d..721c3818d4d64a0615d64a0dc4ec73c7af7caa9b 100644 (file)
@@ -554,6 +554,13 @@ typedef struct {
 } mess_lsys_vfs_mapdriver;
 _ASSERT_MSG_SIZE(mess_lsys_vfs_mapdriver);
 
+typedef struct {
+       uid_t euid;
+
+       uint8_t padding[52];
+} mess_pm_lc_getuid;
+_ASSERT_MSG_SIZE(mess_pm_lc_getuid);
+
 typedef struct {
        endpoint_t endpt;
        int result;
@@ -1061,6 +1068,7 @@ typedef struct {
 
                mess_pm_lexec_exec_new  m_pm_lexec_exec_new;
 
+               mess_pm_lc_getuid       m_pm_lc_getuid;
                mess_pm_lc_ptrace       m_pm_lc_ptrace;
                mess_pm_lc_time         m_pm_lc_time;
                mess_pm_lc_waitpid      m_pm_lc_waitpid;
index b19af9edb83738a60f72a52c6b11e5c299c2f9b4..30da04f1a83c76c6cdfa96fff068c60b95787688 100644 (file)
@@ -15,6 +15,6 @@ uid_t geteuid(void)
    * are not always successful and Minix returns the unreserved value
    * (uid_t) -1 when there is an error.
    */
-  if (_syscall(PM_PROC_NR, PM_GETUID, &m) < 0) return ( (uid_t) -1);
-  return( (uid_t) m.PM_GETUID_EUID);
+  if (_syscall(PM_PROC_NR, PM_GETUID, &m) < 0) return(-1);
+  return(m.m_pm_lc_getuid.euid);
 }
index b6a21e0fc374a2bd3bc20818d3e49579c58cc966..a6c38c13916167ee9252911a90c03c8ce75df4a1 100644 (file)
@@ -49,7 +49,7 @@ int do_get()
                break;
        case PM_GETUID:
                r = rmp->mp_realuid;
-               rmp->mp_reply.PM_GETUID_EUID = rmp->mp_effuid;
+               rmp->mp_reply.m_pm_lc_getuid.euid = rmp->mp_effuid;
                break;
 
        case PM_GETGID: