From: Christoph Hellwig <hch at lst.de> To: mptcp at lists.01.org Subject: [MPTCP] [PATCH 03/22] net: streamline __sys_getsockopt Date: Fri, 17 Jul 2020 08:23:12 +0200 [thread overview] Message-ID: <20200717062331.691152-4-hch@lst.de> (raw) In-Reply-To: 20200717062331.691152-1-hch@lst.de [-- Attachment #1: Type: text/plain, Size: 1673 bytes --] Return early when sockfd_lookup_light fails to reduce a level of indentation for most of the function body. Signed-off-by: Christoph Hellwig <hch(a)lst.de> --- net/socket.c | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/net/socket.c b/net/socket.c index 49a6daf0293b83..b79376b17b45b7 100644 --- a/net/socket.c +++ b/net/socket.c @@ -2163,28 +2163,25 @@ static int __sys_getsockopt(int fd, int level, int optname, int max_optlen; sock = sockfd_lookup_light(fd, &err, &fput_needed); - if (sock != NULL) { - err = security_socket_getsockopt(sock, level, optname); - if (err) - goto out_put; + if (!sock) + return err; - max_optlen = BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen); + err = security_socket_getsockopt(sock, level, optname); + if (err) + goto out_put; - if (level == SOL_SOCKET) - err = - sock_getsockopt(sock, level, optname, optval, + max_optlen = BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen); + + if (level == SOL_SOCKET) + err = sock_getsockopt(sock, level, optname, optval, optlen); + else + err = sock->ops->getsockopt(sock, level, optname, optval, optlen); - else - err = - sock->ops->getsockopt(sock, level, optname, optval, - optlen); - err = BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock->sk, level, optname, - optval, optlen, - max_optlen, err); + err = BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock->sk, level, optname, optval, + optlen, max_optlen, err); out_put: - fput_light(sock->file, fput_needed); - } + fput_light(sock->file, fput_needed); return err; } -- 2.27.0
WARNING: multiple messages have this Message-ID
From: Christoph Hellwig <hch@lst.de> To: "David S. Miller" <davem@davemloft.net> Cc: Alexei Starovoitov <ast@kernel.org>, Daniel Borkmann <daniel@iogearbox.net>, Chas Williams <3chas3@gmail.com>, Pablo Neira Ayuso <pablo@netfilter.org>, Jozsef Kadlecsik <kadlec@netfilter.org>, Florian Westphal <fw@strlen.de>, Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>, Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, bpf@vger.kernel.org, netfilter-devel@vger.kernel.org, linux-sctp@vger.kernel.org, linux-arch@vger.kernel.org, linux-bluetooth@vger.kernel.org, bridge@lists.linux-foundation.org, linux-can@vger.kernel.org, dccp@vger.kernel.org, linux-wpan@vger.kernel.org, mptcp@lists.01.org Subject: [PATCH 03/22] net: streamline __sys_getsockopt Date: Fri, 17 Jul 2020 08:23:12 +0200 [thread overview] Message-ID: <20200717062331.691152-4-hch@lst.de> (raw) In-Reply-To: <20200717062331.691152-1-hch@lst.de> Return early when sockfd_lookup_light fails to reduce a level of indentation for most of the function body. Signed-off-by: Christoph Hellwig <hch@lst.de> --- net/socket.c | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/net/socket.c b/net/socket.c index 49a6daf0293b83..b79376b17b45b7 100644 --- a/net/socket.c +++ b/net/socket.c @@ -2163,28 +2163,25 @@ static int __sys_getsockopt(int fd, int level, int optname, int max_optlen; sock = sockfd_lookup_light(fd, &err, &fput_needed); - if (sock != NULL) { - err = security_socket_getsockopt(sock, level, optname); - if (err) - goto out_put; + if (!sock) + return err; - max_optlen = BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen); + err = security_socket_getsockopt(sock, level, optname); + if (err) + goto out_put; - if (level == SOL_SOCKET) - err = - sock_getsockopt(sock, level, optname, optval, + max_optlen = BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen); + + if (level == SOL_SOCKET) + err = sock_getsockopt(sock, level, optname, optval, optlen); + else + err = sock->ops->getsockopt(sock, level, optname, optval, optlen); - else - err = - sock->ops->getsockopt(sock, level, optname, optval, - optlen); - err = BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock->sk, level, optname, - optval, optlen, - max_optlen, err); + err = BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock->sk, level, optname, optval, + optlen, max_optlen, err); out_put: - fput_light(sock->file, fput_needed); - } + fput_light(sock->file, fput_needed); return err; } -- 2.27.0
WARNING: multiple messages have this Message-ID
From: Christoph Hellwig <hch@lst.de> To: "David S. Miller" <davem@davemloft.net> Cc: Alexei Starovoitov <ast@kernel.org>, Daniel Borkmann <daniel@iogearbox.net>, Chas Williams <3chas3@gmail.com>, Pablo Neira Ayuso <pablo@netfilter.org>, Jozsef Kadlecsik <kadlec@netfilter.org>, Florian Westphal <fw@strlen.de>, Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>, Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, bpf@vger.kernel.org, netfilter-devel@vger.kernel.org, linux-sctp@vger.kernel.org, linux-arch@vger.kernel.org, linux-bluetooth@vger.kernel.org, bridge@lists.linux-foundation.org, linux-can@vger.kernel.org, dccp@vger.kernel.org, linux-wpan@vger.kernel.org, mptcp@lists.01.org Subject: [PATCH 03/22] net: streamline __sys_getsockopt Date: Fri, 17 Jul 2020 06:23:12 +0000 [thread overview] Message-ID: <20200717062331.691152-4-hch@lst.de> (raw) In-Reply-To: <20200717062331.691152-1-hch@lst.de> Return early when sockfd_lookup_light fails to reduce a level of indentation for most of the function body. Signed-off-by: Christoph Hellwig <hch@lst.de> --- net/socket.c | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/net/socket.c b/net/socket.c index 49a6daf0293b83..b79376b17b45b7 100644 --- a/net/socket.c +++ b/net/socket.c @@ -2163,28 +2163,25 @@ static int __sys_getsockopt(int fd, int level, int optname, int max_optlen; sock = sockfd_lookup_light(fd, &err, &fput_needed); - if (sock != NULL) { - err = security_socket_getsockopt(sock, level, optname); - if (err) - goto out_put; + if (!sock) + return err; - max_optlen = BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen); + err = security_socket_getsockopt(sock, level, optname); + if (err) + goto out_put; - if (level = SOL_SOCKET) - err - sock_getsockopt(sock, level, optname, optval, + max_optlen = BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen); + + if (level = SOL_SOCKET) + err = sock_getsockopt(sock, level, optname, optval, optlen); + else + err = sock->ops->getsockopt(sock, level, optname, optval, optlen); - else - err - sock->ops->getsockopt(sock, level, optname, optval, - optlen); - err = BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock->sk, level, optname, - optval, optlen, - max_optlen, err); + err = BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock->sk, level, optname, optval, + optlen, max_optlen, err); out_put: - fput_light(sock->file, fput_needed); - } + fput_light(sock->file, fput_needed); return err; } -- 2.27.0
next reply other threads:[~2020-07-17 6:23 UTC|newest] Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-17 6:23 Christoph Hellwig [this message] 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig -- strict thread matches above, loose matches on Subject: below -- 2020-07-20 1:16 [MPTCP] Re: sockopt cleanups David Miller 2020-07-20 1:16 ` David Miller 2020-07-20 1:16 ` David Miller 2020-07-20 1:16 ` David Miller 2020-07-17 9:26 [MPTCP] Re: [PATCH 05/22] net: remove compat_sock_common_{get, set}sockopt Stefan Schmidt 2020-07-17 9:26 ` [PATCH 05/22] net: remove compat_sock_common_{get,set}sockopt Stefan Schmidt 2020-07-17 9:26 ` Stefan Schmidt 2020-07-17 9:18 [MPTCP] Re: [PATCH 05/22] net: remove compat_sock_common_{get, set}sockopt Matthieu Baerts 2020-07-17 9:18 ` [MPTCP] [PATCH 05/22] net: remove compat_sock_common_{get,set}sockopt Matthieu Baerts 2020-07-17 9:18 ` Matthieu Baerts 2020-07-17 6:23 [MPTCP] [PATCH 21/22] net/ipv6: remove compat_ipv6_{get,set}sockopt Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 20/22] net/ipv6: factor out mcast join/leave setsockopt helpers Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 19/22] net/ipv6: factor out MCAST_MSFILTER " Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 18/22] net/ipv6: factor out MCAST_MSFILTER getsockopt helpers Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 17/22] net/ipv4: remove compat_ip_{get,set}sockopt Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 16/22] net/ipv4: factor out mcast join/leave setsockopt helpers Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 15/22] net/ipv4: factor out MCAST_MSFILTER " Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 14/22] net/ipv4: factor out MCAST_MSFILTER getsockopt helpers Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 13/22] netfilter: split nf_sockopt Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 12/22] netfilter: remove the compat argument to xt_copy_counters_from_user Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 11/22] netfilter: remove the compat_{get,set} methods Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 10/22] netfilter/ebtables: clean up compat {get, set}sockopt handling Christoph Hellwig 2020-07-17 6:23 ` [PATCH 10/22] netfilter/ebtables: clean up compat {get,set}sockopt handling Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 09/22] netfilter/ip6_tables: clean up compat {get, set}sockopt handling Christoph Hellwig 2020-07-17 6:23 ` [PATCH 09/22] netfilter/ip6_tables: clean up compat {get,set}sockopt handling Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 08/22] netfilter/ip_tables: clean up compat {get, set}sockopt handling Christoph Hellwig 2020-07-17 6:23 ` [PATCH 08/22] netfilter/ip_tables: clean up compat {get,set}sockopt handling Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 07/22] netfilter/arp_tables: clean up compat {get, set}sockopt handling Christoph Hellwig 2020-07-17 6:23 ` [PATCH 07/22] netfilter/arp_tables: clean up compat {get,set}sockopt handling Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 06/22] net: remove compat_sys_{get,set}sockopt Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 05/22] net: remove compat_sock_common_{get, set}sockopt Christoph Hellwig 2020-07-17 6:23 ` [PATCH 05/22] net: remove compat_sock_common_{get,set}sockopt Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 04/22] net: simplify cBPF setsockopt compat handling Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 02/22] net: streamline __sys_setsockopt Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] [PATCH 01/22] net/atm: remove the atmdev_ops {get, set}sockopt methods Christoph Hellwig 2020-07-17 6:23 ` [PATCH 01/22] net/atm: remove the atmdev_ops {get,set}sockopt methods Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 [MPTCP] sockopt cleanups Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig 2020-07-17 6:23 ` [MPTCP] [PATCH 22/22] net: make ->{get, set}sockopt in proto_ops optional Christoph Hellwig 2020-07-17 6:23 ` [PATCH 22/22] net: make ->{get,set}sockopt " Christoph Hellwig 2020-07-17 6:23 ` Christoph Hellwig [not found] ` <20200717062331.691152-23-hch-jcswGhMUV9g@public.gmane.org> 2020-07-17 8:01 ` Marc Kleine-Budde 2020-07-17 8:01 ` Marc Kleine-Budde 2020-07-17 8:01 ` Marc Kleine-Budde
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200717062331.691152-4-hch@lst.de \ --to=unknown@example.com \ --subject='Re: [MPTCP] [PATCH 03/22] net: streamline __sys_getsockopt' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.