[PATCH] process events connector: uid_t gid_t size issues
authorMatt Helsley <matthltc@us.ibm.com>
Wed, 30 Nov 2005 03:34:31 +0000 (19:34 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 30 Nov 2005 03:47:03 +0000 (19:47 -0800)
The uid_t and gid_t fields appear to present a 32/64-bit userspace/kernel
problem for some archs.

This patch addresses the problem by fixing the size to the largest size for
uid_t/gid_t used in the kernel.  This preserves the total size of the event
structure while ensuring that the layouts of the ID change event match in
32 and 64-bit kernels and applications.

Signed-off-by: Matt Helsley <matthltc@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/linux/cn_proc.h

index 70ab563..c948f67 100644 (file)
@@ -86,12 +86,12 @@ struct proc_event {
                        pid_t process_pid;
                        pid_t process_tgid;
                        union {
-                               uid_t ruid; /* current->uid */
-                               gid_t rgid; /* current->gid */
+                               __u32 ruid; /* task uid */
+                               __u32 rgid; /* task gid */
                        } r;
                        union {
-                               uid_t euid;
-                               gid_t egid;
+                               __u32 euid;
+                               __u32 egid;
                        } e;
                } id;