0eb71a9da5
Due to the use of rhashtables in net namespaces, rhashtable.h is included in lots of the kernel, so a small changes can required a large recompilation. This makes development painful. This patch splits out rhashtable-types.h which just includes the major type declarations, and does not include (non-trivial) inline code. rhashtable.h is no longer included by anything in the include/ directory. Common include files only include rhashtable-types.h so a large recompilation is only triggered when that changes. Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: David S. Miller <davem@davemloft.net>
31 lines
613 B
C
31 lines
613 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _LINUX_IPC_H
|
|
#define _LINUX_IPC_H
|
|
|
|
#include <linux/spinlock.h>
|
|
#include <linux/uidgid.h>
|
|
#include <linux/rhashtable-types.h>
|
|
#include <uapi/linux/ipc.h>
|
|
#include <linux/refcount.h>
|
|
|
|
/* used by in-kernel data structures */
|
|
struct kern_ipc_perm {
|
|
spinlock_t lock;
|
|
bool deleted;
|
|
int id;
|
|
key_t key;
|
|
kuid_t uid;
|
|
kgid_t gid;
|
|
kuid_t cuid;
|
|
kgid_t cgid;
|
|
umode_t mode;
|
|
unsigned long seq;
|
|
void *security;
|
|
|
|
struct rhash_head khtnode;
|
|
|
|
struct rcu_head rcu;
|
|
refcount_t refcount;
|
|
} ____cacheline_aligned_in_smp __randomize_layout;
|
|
|
|
#endif /* _LINUX_IPC_H */
|