Loading net/socket.c +27 −30 Original line number Diff line number Diff line Loading @@ -2107,18 +2107,18 @@ static int __sys_setsockopt(int fd, int level, int optname, return -EINVAL; sock = sockfd_lookup_light(fd, &err, &fput_needed); if (sock != NULL) { if (!sock) return err; err = security_socket_setsockopt(sock, level, optname); if (err) goto out_put; err = BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock->sk, &level, &optname, optval, &optlen, &kernel_optval); if (err < 0) { err = BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock->sk, &level, &optname, optval, &optlen, &kernel_optval); if (err < 0) goto out_put; } else if (err > 0) { if (err > 0) { err = 0; goto out_put; } Loading @@ -2129,21 +2129,18 @@ static int __sys_setsockopt(int fd, int level, int optname, } if (level == SOL_SOCKET && !sock_use_custom_sol_socket(sock)) err = sock_setsockopt(sock, level, optname, optval, optlen); err = sock_setsockopt(sock, level, optname, optval, optlen); else err = sock->ops->setsockopt(sock, level, optname, optval, err = sock->ops->setsockopt(sock, level, optname, optval, optlen); if (kernel_optval) { set_fs(oldfs); kfree(kernel_optval); } out_put: fput_light(sock->file, fput_needed); } return err; } Loading Loading
net/socket.c +27 −30 Original line number Diff line number Diff line Loading @@ -2107,18 +2107,18 @@ static int __sys_setsockopt(int fd, int level, int optname, return -EINVAL; sock = sockfd_lookup_light(fd, &err, &fput_needed); if (sock != NULL) { if (!sock) return err; err = security_socket_setsockopt(sock, level, optname); if (err) goto out_put; err = BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock->sk, &level, &optname, optval, &optlen, &kernel_optval); if (err < 0) { err = BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock->sk, &level, &optname, optval, &optlen, &kernel_optval); if (err < 0) goto out_put; } else if (err > 0) { if (err > 0) { err = 0; goto out_put; } Loading @@ -2129,21 +2129,18 @@ static int __sys_setsockopt(int fd, int level, int optname, } if (level == SOL_SOCKET && !sock_use_custom_sol_socket(sock)) err = sock_setsockopt(sock, level, optname, optval, optlen); err = sock_setsockopt(sock, level, optname, optval, optlen); else err = sock->ops->setsockopt(sock, level, optname, optval, err = sock->ops->setsockopt(sock, level, optname, optval, optlen); if (kernel_optval) { set_fs(oldfs); kfree(kernel_optval); } out_put: fput_light(sock->file, fput_needed); } return err; } Loading