===== ipcbuf.h 1.1 vs edited ===== --- 1.1/include/asm-ppc/ipcbuf.h Wed Jan 19 03:00:31 2000 +++ edited/ipcbuf.h Sat Sep 23 13:52:17 2000 @@ -2,10 +2,29 @@ #define __PPC_IPCBUF_H__ /* - * The ipc64_perm structure for the PPC is identical to kern_ipc_perm - * as we have always had 32-bit UIDs and GIDs in the kernel. + * The ipc64_perm structure for PPC architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for: + * - 32-bit seq + * - 2 miscellaneous 64-bit values (so that this structure matches + * PPC64 ipc64_perm) */ - -#define ipc64_perm kern_ipc_perm + +struct ipc64_perm +{ + __kernel_key_t key; + __kernel_uid_t uid; + __kernel_gid_t gid; + __kernel_uid_t cuid; + __kernel_gid_t cgid; + __kernel_mode_t mode; + unsigned short __pad1; + unsigned short seq; + unsigned int __pad2; + unsigned long long __unused1; + unsigned long long __unused2; +}; #endif /* __PPC_IPCBUF_H__ */ ===== msgbuf.h 1.1 vs edited ===== --- 1.1/include/asm-ppc/msgbuf.h Wed Jan 19 03:00:31 2000 +++ edited/msgbuf.h Fri Sep 22 23:27:16 2000 @@ -7,7 +7,6 @@ struct msqid64_ds { struct ipc64_perm msg_perm; - unsigned int __unused0; unsigned int __unused1; __kernel_time_t msg_stime; /* last msgsnd time */ unsigned int __unused2; ===== sembuf.h 1.1 vs edited ===== --- 1.1/include/asm-ppc/sembuf.h Wed Jan 19 03:00:31 2000 +++ edited/sembuf.h Sun Sep 24 11:19:56 2000 @@ -7,7 +7,6 @@ struct semid64_ds { struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ - unsigned int __unused0; unsigned int __unused1; __kernel_time_t sem_otime; /* last semop time */ unsigned int __unused2; ===== shmbuf.h 1.1 vs edited ===== --- 1.1/include/asm-ppc/shmbuf.h Wed Jan 19 03:00:31 2000 +++ edited/shmbuf.h Sun Sep 24 12:03:19 2000 @@ -7,14 +7,13 @@ struct shmid64_ds { struct ipc64_perm shm_perm; /* operation perms */ - unsigned int __unused0; - size_t shm_segsz; /* size of segment (bytes) */ unsigned long __unused1; __kernel_time_t shm_atime; /* last attach time */ unsigned long __unused2; __kernel_time_t shm_dtime; /* last detach time */ unsigned long __unused3; __kernel_time_t shm_ctime; /* last change time */ + size_t shm_segsz; /* size of segment (bytes) */ __kernel_pid_t shm_cpid; /* pid of creator */ __kernel_pid_t shm_lpid; /* pid of last operator */ unsigned long shm_nattch; /* no. of current attaches */