bpf: NULL pointer check is not needed in BPF_CGROUP_RUN_PROG_INET_SOCK
authorYafang Shao <laoar.shao@gmail.com>
Fri, 23 Feb 2018 06:58:41 +0000 (14:58 +0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 23 Feb 2018 15:23:11 +0000 (16:23 +0100)
sk is already allocated in inet_create/inet6_create, hence when
BPF_CGROUP_RUN_PROG_INET_SOCK is executed sk will never be NULL.

The logic is as bellow,
sk = sk_alloc();
if (!sk)
goto out;
BPF_CGROUP_RUN_PROG_INET_SOCK(sk);

Signed-off-by: Yafang Shao <laoar.shao@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
include/linux/bpf-cgroup.h

index a7f16e0..8a45666 100644 (file)
@@ -96,7 +96,7 @@ int __cgroup_bpf_check_dev_permission(short dev_type, u32 major, u32 minor,
 #define BPF_CGROUP_RUN_PROG_INET_SOCK(sk)                                     \
 ({                                                                            \
        int __ret = 0;                                                         \
-       if (cgroup_bpf_enabled && sk) {                                        \
+       if (cgroup_bpf_enabled) {                                              \
                __ret = __cgroup_bpf_run_filter_sk(sk,                         \
                                                 BPF_CGROUP_INET_SOCK_CREATE); \
        }                                                                      \