diff --git a/include/linux/bpf-cgroup.h b/include/linux/bpf-cgroup.h index 0d61a7e4778b9810190a22254ff285daed189211..8347817d713cb3fc5dafea2b9745ebac857a1ed2 100644 --- a/include/linux/bpf-cgroup.h +++ b/include/linux/bpf-cgroup.h @@ -434,14 +434,6 @@ int bpf_percpu_cgroup_storage_update(struct bpf_map *map, void *key, __ret; \ }) -#define BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen) \ -({ \ - int __ret = 0; \ - if (cgroup_bpf_enabled(CGROUP_GETSOCKOPT)) \ - get_user(__ret, optlen); \ - __ret; \ -}) - #define BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock, level, optname, optval, optlen, \ max_optlen, retval) \ ({ \ @@ -530,7 +522,6 @@ static inline int bpf_percpu_cgroup_storage_update(struct bpf_map *map, #define BPF_CGROUP_RUN_PROG_SOCK_OPS(sock_ops) ({ 0; }) #define BPF_CGROUP_RUN_PROG_DEVICE_CGROUP(atype, major, minor, access) ({ 0; }) #define BPF_CGROUP_RUN_PROG_SYSCTL(head,table,write,buf,count,pos) ({ 0; }) -#define BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen) ({ 0; }) #define BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock, level, optname, optval, \ optlen, max_optlen, retval) ({ retval; }) #define BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock, level, optname, optval, optlen, \ diff --git a/net/socket.c b/net/socket.c index f9eeb07286962d3711b00e579657ef19b41975de..c7a3db34078424594fffe26a9c565604989aaa27 100644 --- a/net/socket.c +++ b/net/socket.c @@ -2178,7 +2178,7 @@ int __sys_getsockopt(int fd, int level, int optname, char __user *optval, { int err, fput_needed; struct socket *sock; - int max_optlen; + int max_optlen = 0; sock = sockfd_lookup_light(fd, &err, &fput_needed); if (!sock) @@ -2189,7 +2189,7 @@ int __sys_getsockopt(int fd, int level, int optname, char __user *optval, goto out_put; if (!in_compat_syscall()) - max_optlen = BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen); + get_user(max_optlen, optlen); if (level == SOL_SOCKET) err = sock_getsockopt(sock, level, optname, optval, optlen);