Message ID | 677e2ddff0a1ff3d19ceb897e68f86e0246526a7.1527263217.git.rdna@fb.com |
---|---|
State | Accepted, archived |
Delegated to: | BPF Maintainers |
Headers | show |
Series | bpf: Hooks for sys_sendmsg | expand |
On Fri, May 25, 2018 at 08:55:22AM -0700, Andrey Ignatov wrote: > Static key is used to enable/disable cgroup-bpf related code paths at > run time. > > Though it's not defined when cgroup-bpf is disabled at compile time, > i.e. CONFIG_CGROUP_BPF=n, and if some code wants to use it, it has to do > this: > > #ifdef CONFIG_CGROUP_BPF > if (cgroup_bpf_enabled) { > /* ... some work ... */ > } > #endif > > This code can be simplified by setting cgroup_bpf_enabled to 0 for > CONFIG_CGROUP_BPF=n case: > > if (cgroup_bpf_enabled) { > /* ... some work ... */ > } > > And it aligns well with existing BPF_CGROUP_RUN_PROG_* macros that > defined for both states of CONFIG_CGROUP_BPF. > > Signed-off-by: Andrey Ignatov <rdna@fb.com> Acked-by: Alexei Starovoitov <ast@kernel.org>
diff --git a/include/linux/bpf-cgroup.h b/include/linux/bpf-cgroup.h index 30d15e6..de8e89a 100644 --- a/include/linux/bpf-cgroup.h +++ b/include/linux/bpf-cgroup.h @@ -185,6 +185,7 @@ struct cgroup_bpf {}; static inline void cgroup_bpf_put(struct cgroup *cgrp) {} static inline int cgroup_bpf_inherit(struct cgroup *cgrp) { return 0; } +#define cgroup_bpf_enabled (0) #define BPF_CGROUP_PRE_CONNECT_ENABLED(sk) (0) #define BPF_CGROUP_RUN_PROG_INET_INGRESS(sk,skb) ({ 0; }) #define BPF_CGROUP_RUN_PROG_INET_EGRESS(sk,skb) ({ 0; })
Static key is used to enable/disable cgroup-bpf related code paths at run time. Though it's not defined when cgroup-bpf is disabled at compile time, i.e. CONFIG_CGROUP_BPF=n, and if some code wants to use it, it has to do this: #ifdef CONFIG_CGROUP_BPF if (cgroup_bpf_enabled) { /* ... some work ... */ } #endif This code can be simplified by setting cgroup_bpf_enabled to 0 for CONFIG_CGROUP_BPF=n case: if (cgroup_bpf_enabled) { /* ... some work ... */ } And it aligns well with existing BPF_CGROUP_RUN_PROG_* macros that defined for both states of CONFIG_CGROUP_BPF. Signed-off-by: Andrey Ignatov <rdna@fb.com> --- include/linux/bpf-cgroup.h | 1 + 1 file changed, 1 insertion(+)