From: Stanislav Fomichev <sdf@google.com>
To: bpf@vger.kernel.org
Cc: ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org,
martin.lau@linux.dev, song@kernel.org, yhs@fb.com,
john.fastabend@gmail.com, kpsingh@kernel.org, sdf@google.com,
haoluo@google.com, jolsa@kernel.org,
Martin KaFai Lau <martin.lau@kernel.org>
Subject: [PATCH bpf-next 0/6] bpf: handle another corner case in getsockopt
Date: Tue, 18 Apr 2023 15:53:37 -0700 [thread overview]
Message-ID: <20230418225343.553806-1-sdf@google.com> (raw)
Martin reports another case where getsockopt EFAULTs perfectly
valid callers. Let's fix it and also replace EFAULT with
pr_info_ratelimited. That should hopefully make this place
less error prone.
First 2 patches fix the issue with NETLINK_LIST_MEMBERSHIPS and
test it.
Second 2 patches replace EFAULT with pr_inro_limited and update
the tests.
The remaining patches update documentation and existing selftests
to be more gentle with 'optlen > 4096' cases. People might be
copy-pasting from there, so let's be more pedantic.
Cc: Martin KaFai Lau <martin.lau@kernel.org>
Stanislav Fomichev (6):
bpf: Don't EFAULT for getsockopt with optval=NULL
selftests/bpf: Verify optval=NULL case
bpf: Don't EFAULT for {g,s}setsockopt with wrong optlen
selftests/bpf: Update EFAULT {g,s}etsockopt selftests
selftests/bpf: Correctly handle optlen > 4096
bpf: Document EFAULT changes for sockopt
Documentation/bpf/prog_cgroup_sockopt.rst | 64 +++++++++++++++++--
kernel/bpf/cgroup.c | 17 +++--
.../selftests/bpf/prog_tests/sockopt.c | 42 ++++--------
.../selftests/bpf/prog_tests/sockopt_sk.c | 28 ++++++++
.../progs/cgroup_getset_retval_getsockopt.c | 12 ++++
.../progs/cgroup_getset_retval_setsockopt.c | 16 +++++
.../selftests/bpf/progs/sockopt_inherit.c | 16 ++++-
.../selftests/bpf/progs/sockopt_multi.c | 24 ++++++-
.../selftests/bpf/progs/sockopt_qos_to_cc.c | 8 ++-
.../testing/selftests/bpf/progs/sockopt_sk.c | 33 ++++++++--
10 files changed, 211 insertions(+), 49 deletions(-)
--
2.40.0.634.g4ca3ef3211-goog
next reply other threads:[~2023-04-18 22:53 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-18 22:53 Stanislav Fomichev [this message]
2023-04-18 22:53 ` [PATCH bpf-next 1/6] bpf: Don't EFAULT for getsockopt with optval=NULL Stanislav Fomichev
2023-04-18 22:53 ` [PATCH bpf-next 2/6] selftests/bpf: Verify optval=NULL case Stanislav Fomichev
2023-04-18 22:53 ` [PATCH bpf-next 3/6] bpf: Don't EFAULT for {g,s}setsockopt with wrong optlen Stanislav Fomichev
2023-04-21 15:24 ` Daniel Borkmann
2023-04-21 16:09 ` Stanislav Fomichev
2023-04-25 0:56 ` Martin KaFai Lau
2023-04-25 17:12 ` Stanislav Fomichev
2023-04-25 18:31 ` Martin KaFai Lau
2023-04-26 17:27 ` Stanislav Fomichev
2023-04-26 18:07 ` Martin KaFai Lau
2023-04-18 22:53 ` [PATCH bpf-next 4/6] selftests/bpf: Update EFAULT {g,s}etsockopt selftests Stanislav Fomichev
2023-04-18 22:53 ` [PATCH bpf-next 5/6] selftests/bpf: Correctly handle optlen > 4096 Stanislav Fomichev
2023-04-18 22:53 ` [PATCH bpf-next 6/6] bpf: Document EFAULT changes for sockopt Stanislav Fomichev
2023-04-19 20:08 ` kernel test robot
2023-04-20 18:17 ` Stanislav Fomichev
2023-04-21 15:20 ` [PATCH bpf-next 0/6] bpf: handle another corner case in getsockopt patchwork-bot+netdevbpf
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=20230418225343.553806-1-sdf@google.com \
--to=sdf@google.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=haoluo@google.com \
--cc=john.fastabend@gmail.com \
--cc=jolsa@kernel.org \
--cc=kpsingh@kernel.org \
--cc=martin.lau@kernel.org \
--cc=martin.lau@linux.dev \
--cc=song@kernel.org \
--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.