1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _LINUX_IPC_H 3 #define _LINUX_IPC_H 4 5 #include <linux/spinlock.h> 6 #include <linux/uidgid.h> 7 #include <linux/rhashtable-types.h> 8 #include <uapi/linux/ipc.h> 9 #include <linux/refcount.h> 10 11 /* used by in-kernel data structures */ 12 struct kern_ipc_perm { 13 spinlock_t lock; 14 bool deleted; 15 int id; 16 key_t key; 17 kuid_t uid; 18 kgid_t gid; 19 kuid_t cuid; 20 kgid_t cgid; 21 umode_t mode; 22 unsigned long seq; 23 void *security; 24 25 struct rhash_head khtnode; 26 27 struct rcu_head rcu; 28 refcount_t refcount; 29 } ____cacheline_aligned_in_smp __randomize_layout; 30 31 #endif /* _LINUX_IPC_H */ 32