From: Geliang Tang <geliang.tang@suse.com>
To: Simon Horman <horms@kernel.org>
Cc: Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Andrii Nakryiko <andrii@kernel.org>,
Martin KaFai Lau <martin.lau@linux.dev>,
Song Liu <song@kernel.org>, Yonghong Song <yhs@fb.com>,
John Fastabend <john.fastabend@gmail.com>,
KP Singh <kpsingh@kernel.org>,
Stanislav Fomichev <sdf@google.com>, Hao Luo <haoluo@google.com>,
Jiri Olsa <jolsa@kernel.org>,
Florent Revest <revest@chromium.org>,
Brendan Jackman <jackmanb@chromium.org>,
Matthieu Baerts <matthieu.baerts@tessares.net>,
Mat Martineau <martineau@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
John Johansen <john.johansen@canonical.com>,
Paul Moore <paul@paul-moore.com>,
James Morris <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
Stephen Smalley <stephen.smalley.work@gmail.com>,
Eric Paris <eparis@parisplace.org>,
Mykola Lysenko <mykolal@fb.com>, Shuah Khan <shuah@kernel.org>,
bpf@vger.kernel.org, netdev@vger.kernel.org,
mptcp@lists.linux.dev, apparmor@lists.ubuntu.com,
linux-security-module@vger.kernel.org, selinux@vger.kernel.org,
linux-kselftest@vger.kernel.org
Subject: Re: [PATCH bpf-next v8 1/4] bpf: Add update_socket_protocol hook
Date: Thu, 3 Aug 2023 21:05:40 +0800 [thread overview]
Message-ID: <20230803130540.GA2792@bogon> (raw)
In-Reply-To: <ZMujUofDnb8wMb36@kernel.org>
On Thu, Aug 03, 2023 at 02:53:38PM +0200, Simon Horman wrote:
> On Thu, Aug 03, 2023 at 03:30:39PM +0800, Geliang Tang wrote:
> > Add a hook named update_socket_protocol in __sys_socket(), for bpf
> > progs to attach to and update socket protocol. One user case is to
> > force legacy TCP apps to create and use MPTCP sockets instead of
> > TCP ones.
> >
> > Define a mod_ret set named bpf_mptcp_fmodret_ids, add the hook
> > update_socket_protocol into this set, and register it in
> > bpf_mptcp_kfunc_init().
> >
> > Signed-off-by: Geliang Tang <geliang.tang@suse.com>
>
> ...
>
> > diff --git a/net/socket.c b/net/socket.c
> > index 2b0e54b2405c..586a437d7a5e 100644
> > --- a/net/socket.c
> > +++ b/net/socket.c
> > @@ -1644,11 +1644,36 @@ struct file *__sys_socket_file(int family, int type, int protocol)
> > return sock_alloc_file(sock, flags, NULL);
> > }
> >
> > +/**
>
> Hi Geliang Tang,
>
> nit: The format of the text below is not in kernel doc format,
> so it is probably better if the comment begins with '/*'
> rather than '/**'.
I do use '/*' here first, but got a checkpatch.pl warning:
./scripts/checkpatch.pl v8-0001-bpf-Add-update_socket_protocol-hook.patch
WARNING: networking block comments don't use an empty /* line, use /* Comment...
#63: FILE: net/socket.c:1648:
+/*
+ * A hook for bpf progs to attach to and update socket protocol.
total: 0 errors, 1 warnings, 0 checks, 59 lines checked
And I found that other comments in net/socket.c all begins with '/**'.
So I use '/**' here too.
Thanks,
-Geliang
>
> > + * A hook for bpf progs to attach to and update socket protocol.
> > + *
> > + * A static noinline declaration here could cause the compiler to
> > + * optimize away the function. A global noinline declaration will
> > + * keep the definition, but may optimize away the callsite.
> > + * Therefore, __weak is needed to ensure that the call is still
> > + * emitted, by telling the compiler that we don't know what the
> > + * function might eventually be.
> > + *
> > + * __diag_* below are needed to dismiss the missing prototype warning.
> > + */
>
> ...
next prev parent reply other threads:[~2023-08-03 13:11 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-03 7:30 [PATCH bpf-next v8 0/4] bpf: Force to MPTCP Geliang Tang
2023-08-03 7:30 ` [PATCH bpf-next v8 1/4] bpf: Add update_socket_protocol hook Geliang Tang
2023-08-03 8:02 ` Matthieu Baerts
2023-08-03 12:53 ` Simon Horman
2023-08-03 13:05 ` Geliang Tang [this message]
2023-08-03 13:18 ` Matthieu Baerts
2023-08-03 13:17 ` kernel test robot
2023-08-03 7:30 ` [PATCH bpf-next v8 2/4] selftests/bpf: Use random netns name for mptcp Geliang Tang
2023-08-03 7:30 ` [PATCH bpf-next v8 3/4] selftests/bpf: Add two mptcp netns helpers Geliang Tang
2023-08-03 7:30 ` [PATCH bpf-next v8 4/4] selftests/bpf: Add mptcpify test Geliang Tang
2023-08-03 8:03 ` Matthieu Baerts
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=20230803130540.GA2792@bogon \
--to=geliang.tang@suse.com \
--cc=andrii@kernel.org \
--cc=apparmor@lists.ubuntu.com \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=eparis@parisplace.org \
--cc=haoluo@google.com \
--cc=horms@kernel.org \
--cc=jackmanb@chromium.org \
--cc=jmorris@namei.org \
--cc=john.fastabend@gmail.com \
--cc=john.johansen@canonical.com \
--cc=jolsa@kernel.org \
--cc=kpsingh@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=martin.lau@linux.dev \
--cc=martineau@kernel.org \
--cc=matthieu.baerts@tessares.net \
--cc=mptcp@lists.linux.dev \
--cc=mykolal@fb.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=paul@paul-moore.com \
--cc=revest@chromium.org \
--cc=sdf@google.com \
--cc=selinux@vger.kernel.org \
--cc=serge@hallyn.com \
--cc=shuah@kernel.org \
--cc=song@kernel.org \
--cc=stephen.smalley.work@gmail.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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.