Netdev Archive on lore.kernel.org help / color / mirror / Atom feed
From: Jiang Wang <jiang.wang@bytedance.com> To: netdev@vger.kernel.org Cc: cong.wang@bytedance.com, duanxiongchun@bytedance.com, xieyongji@bytedance.com, chaiwen.cc@bytedance.com, "David S. Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>, John Fastabend <john.fastabend@gmail.com>, Daniel Borkmann <daniel@iogearbox.net>, Jakub Sitnicki <jakub@cloudflare.com>, Lorenz Bauer <lmb@cloudflare.com>, Alexei Starovoitov <ast@kernel.org>, Andrii Nakryiko <andrii@kernel.org>, Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>, Yonghong Song <yhs@fb.com>, KP Singh <kpsingh@kernel.org>, Shuah Khan <shuah@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Christian Brauner <christian.brauner@ubuntu.com>, Johan Almbladh <johan.almbladh@anyfinetworks.com>, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [PATCH bpf-next v6 1/5] af_unix: add read_sock for stream socket types Date: Mon, 9 Aug 2021 19:47:34 +0000 [thread overview] Message-ID: <20210809194742.1489985-2-jiang.wang@bytedance.com> (raw) In-Reply-To: <20210809194742.1489985-1-jiang.wang@bytedance.com> To support sockmap for af_unix stream type, implement read_sock, which is similar to the read_sock for unix dgram sockets. Signed-off-by: Jiang Wang <jiang.wang@bytedance.com> Reviewed-by: Cong Wang <cong.wang@bytedance.com> --- net/unix/af_unix.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 256c4e31132e..c020ad0e8438 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -672,6 +672,8 @@ static int unix_dgram_sendmsg(struct socket *, struct msghdr *, size_t); static int unix_dgram_recvmsg(struct socket *, struct msghdr *, size_t, int); static int unix_read_sock(struct sock *sk, read_descriptor_t *desc, sk_read_actor_t recv_actor); +static int unix_stream_read_sock(struct sock *sk, read_descriptor_t *desc, + sk_read_actor_t recv_actor); static int unix_dgram_connect(struct socket *, struct sockaddr *, int, int); static int unix_seqpacket_sendmsg(struct socket *, struct msghdr *, size_t); @@ -725,6 +727,7 @@ static const struct proto_ops unix_stream_ops = { .shutdown = unix_shutdown, .sendmsg = unix_stream_sendmsg, .recvmsg = unix_stream_recvmsg, + .read_sock = unix_stream_read_sock, .mmap = sock_no_mmap, .sendpage = unix_stream_sendpage, .splice_read = unix_stream_splice_read, @@ -2358,6 +2361,15 @@ struct unix_stream_read_state { unsigned int splice_flags; }; +static int unix_stream_read_sock(struct sock *sk, read_descriptor_t *desc, + sk_read_actor_t recv_actor) +{ + if (unlikely(sk->sk_state != TCP_ESTABLISHED)) + return -ENOTCONN; + + return unix_read_sock(sk, desc, recv_actor); +} + static int unix_stream_read_generic(struct unix_stream_read_state *state, bool freezable) { -- 2.20.1
next prev parent reply other threads:[~2021-08-09 19:48 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-08-09 19:47 [PATCH bpf-next v6 0/5] sockmap: add sockmap support for unix stream socket Jiang Wang 2021-08-09 19:47 ` Jiang Wang [this message] 2021-08-09 19:47 ` [PATCH bpf-next v6 2/5] af_unix: add unix_stream_proto for sockmap Jiang Wang 2021-08-09 19:47 ` [PATCH bpf-next v6 3/5] selftest/bpf: add tests for sockmap with unix stream type Jiang Wang 2021-08-09 19:47 ` [PATCH bpf-next v6 4/5] selftest/bpf: change udp to inet in some function names Jiang Wang 2021-08-09 19:47 ` [PATCH bpf-next v6 5/5] selftest/bpf: add new tests in sockmap for unix stream to tcp Jiang Wang 2021-08-10 18:54 ` [PATCH bpf-next v6 0/5] sockmap: add sockmap support for unix stream socket John Fastabend 2021-08-12 7:44 ` Jakub Sitnicki 2021-08-13 22:42 ` Andrii Nakryiko 2021-08-14 4:31 ` Jiang Wang . 2021-08-14 4:27 Jiang Wang 2021-08-14 4:27 ` [PATCH bpf-next v6 1/5] af_unix: add read_sock for stream socket types Jiang Wang
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=20210809194742.1489985-2-jiang.wang@bytedance.com \ --to=jiang.wang@bytedance.com \ --cc=andrii@kernel.org \ --cc=ast@kernel.org \ --cc=bpf@vger.kernel.org \ --cc=chaiwen.cc@bytedance.com \ --cc=christian.brauner@ubuntu.com \ --cc=cong.wang@bytedance.com \ --cc=daniel@iogearbox.net \ --cc=davem@davemloft.net \ --cc=duanxiongchun@bytedance.com \ --cc=jakub@cloudflare.com \ --cc=johan.almbladh@anyfinetworks.com \ --cc=john.fastabend@gmail.com \ --cc=kafai@fb.com \ --cc=kpsingh@kernel.org \ --cc=kuba@kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-kselftest@vger.kernel.org \ --cc=lmb@cloudflare.com \ --cc=netdev@vger.kernel.org \ --cc=shuah@kernel.org \ --cc=songliubraving@fb.com \ --cc=viro@zeniv.linux.org.uk \ --cc=xieyongji@bytedance.com \ --cc=yhs@fb.com \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).