mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 08:19:28 +00:00
![David Gibson](/assets/img/avatar_default.png)
Oops, replacing the two u64s in struct ipc64_perm with __u32s changed the alignment of that structure, which could mess up userspace. Revert to using two unsigned long longs (which is what ppc32 had originally). ppc64 orignally had two unsigned longs, but long long is the same size on 64 bit, so this should be ok there too. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
34 lines
993 B
C
34 lines
993 B
C
#ifndef _ASM_POWERPC_IPCBUF_H
|
|
#define _ASM_POWERPC_IPCBUF_H
|
|
|
|
/*
|
|
* The ipc64_perm structure for the powerpc is identical to
|
|
* kern_ipc_perm as we have always had 32-bit UIDs and GIDs in the
|
|
* kernel. Note extra padding because this structure is passed back
|
|
* and forth between kernel and user space. Pad space is left for:
|
|
* - 1 32-bit value to fill up for 8-byte alignment
|
|
* - 2 miscellaneous 64-bit values
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version
|
|
* 2 of the License, or (at your option) any later version.
|
|
*/
|
|
|
|
#include <linux/types.h>
|
|
|
|
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 int seq;
|
|
unsigned int __pad1;
|
|
unsigned long long __unused1;
|
|
unsigned long long __unused2;
|
|
};
|
|
|
|
#endif /* _ASM_POWERPC_IPCBUF_H */
|