Merge branch 'rework/kthreads' into for-linus
[linux-2.6-microblaze.git] / include / linux / bpf-cgroup-defs.h
index 695d122..7b121bd 100644 (file)
 
 struct bpf_prog_array;
 
+#ifdef CONFIG_BPF_LSM
+/* Maximum number of concurrently attachable per-cgroup LSM hooks. */
+#define CGROUP_LSM_NUM 10
+#else
+#define CGROUP_LSM_NUM 0
+#endif
+
 enum cgroup_bpf_attach_type {
        CGROUP_BPF_ATTACH_TYPE_INVALID = -1,
        CGROUP_INET_INGRESS = 0,
@@ -35,6 +42,8 @@ enum cgroup_bpf_attach_type {
        CGROUP_INET4_GETSOCKNAME,
        CGROUP_INET6_GETSOCKNAME,
        CGROUP_INET_SOCK_RELEASE,
+       CGROUP_LSM_START,
+       CGROUP_LSM_END = CGROUP_LSM_START + CGROUP_LSM_NUM - 1,
        MAX_CGROUP_BPF_ATTACH_TYPE
 };
 
@@ -47,8 +56,8 @@ struct cgroup_bpf {
         * have either zero or one element
         * when BPF_F_ALLOW_MULTI the list can have up to BPF_CGROUP_MAX_PROGS
         */
-       struct list_head progs[MAX_CGROUP_BPF_ATTACH_TYPE];
-       u32 flags[MAX_CGROUP_BPF_ATTACH_TYPE];
+       struct hlist_head progs[MAX_CGROUP_BPF_ATTACH_TYPE];
+       u8 flags[MAX_CGROUP_BPF_ATTACH_TYPE];
 
        /* list of cgroup shared storages */
        struct list_head storages;