From: Wenbo Zhang <ethercflow@gmail.com>
To: bpf@vger.kernel.org
Cc: ast@kernel.org.com, daniel@iogearbox.net, yhs@fb.com,
andrii.nakryiko@gmail.com, netdev@vger.kernel.org
Subject: [PATCH bpf-next v10 0/2] bpf: adding get_file_path helper
Date: Tue, 19 Nov 2019 08:27:36 -0500 [thread overview]
Message-ID: <cover.1574162990.git.ethercflow@gmail.com> (raw)
This patch series introduce a bpf helper that can be used to map a file
descriptor to a pathname.
This requirement is mainly discussed here:
https://github.com/iovisor/bcc/issues/237
This implementation supports both local and mountable pseudo file systems,
and ensure we're in user context which is safe for this helper to run.
Changes since v9:
* Associate help patch with its selftests patch to this series
* Refactor selftests code for further simplification
Changes since v8:
* format helper description
Changes since v7:
* Use fget_raw instead of fdget_raw, as fdget_raw is only used inside fs/
* Ensure we're in user context which is safe fot the help to run
* Filter unmountable pseudo filesystem, because they don't have real path
* Supplement the description of this helper function
Changes since v6:
* Fix missing signed-off-by line
Changes since v5:
* Refactor helper avoid unnecessary goto end by having two explicit returns
Changes since v4:
* Rename bpf_fd2path to bpf_get_file_path to be consistent with other
helper's names
* When fdget_raw fails, set ret to -EBADF instead of -EINVAL
* Remove fdput from fdget_raw's error path
* Use IS_ERR instead of IS_ERR_OR_NULL as d_path ether returns a pointer
into the buffer or an error code if the path was too long
* Modify the normal path's return value to return copied string length
including NUL
* Update helper description's Return bits.
* Refactor selftests code for further simplification
Changes since v3:
* Remove unnecessary LOCKDOWN_BPF_READ
* Refactor error handling section for enhanced readability
* Provide a test case in tools/testing/selftests/bpf
* Refactor sefltests code to use real global variables instead of maps
Changes since v2:
* Fix backward compatibility
* Add helper description
* Refactor selftests use global data instead of perf_buffer to simplified
code
* Fix signed-off name
Wenbo Zhang (2):
bpf: add new helper get_file_path for mapping a file descriptor to a
pathname
selftests/bpf: test for bpf_get_file_path() from tracepoint
include/uapi/linux/bpf.h | 29 ++-
kernel/trace/bpf_trace.c | 63 +++++++
tools/include/uapi/linux/bpf.h | 29 ++-
.../selftests/bpf/prog_tests/get_file_path.c | 171 ++++++++++++++++++
.../selftests/bpf/progs/test_get_file_path.c | 43 +++++
5 files changed, 333 insertions(+), 2 deletions(-)
create mode 100644 tools/testing/selftests/bpf/prog_tests/get_file_path.c
create mode 100644 tools/testing/selftests/bpf/progs/test_get_file_path.c
--
2.17.1
next reply other threads:[~2019-11-19 13:27 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-19 13:27 Wenbo Zhang [this message]
2019-11-19 13:27 ` [PATCH bpf-next v10 1/2] bpf: add new helper get_file_path for mapping a file descriptor to a pathname Wenbo Zhang
2019-11-23 3:18 ` Alexei Starovoitov
2019-11-23 4:43 ` Al Viro
2019-11-23 4:51 ` Al Viro
2019-11-23 5:19 ` Alexei Starovoitov
2019-11-23 5:35 ` Al Viro
2019-11-23 6:04 ` Alexei Starovoitov
2019-12-13 19:51 ` Brendan Gregg
2019-12-05 4:20 ` [PATCH bpf-next v11 0/2] bpf: adding get_file_path helper Wenbo Zhang
2019-12-05 4:20 ` [PATCH bpf-next v11 1/2] bpf: add new helper get_file_path for mapping a file descriptor to a pathname Wenbo Zhang
2019-12-05 7:19 ` Alexei Starovoitov
2019-12-05 9:47 ` Wenbo Zhang
2019-12-15 4:01 ` [PATCH bpf-next v12 0/2] bpf: adding get_file_path helper Wenbo Zhang
2019-12-15 4:01 ` [PATCH bpf-next v12 1/2] bpf: add new helper get_file_path for mapping a file descriptor to a pathname Wenbo Zhang
2019-12-15 16:05 ` Yonghong Song
2019-12-17 6:26 ` Wenbo Zhang
2019-12-17 6:33 ` Yonghong Song
2019-12-15 16:10 ` Yonghong Song
2019-12-17 6:27 ` Wenbo Zhang
2019-12-16 22:09 ` Brendan Gregg
2019-12-17 4:05 ` Wenbo Zhang
2019-12-17 9:47 ` [PATCH bpf-next v13 0/2] bpf: adding get_fd_path helper Wenbo Zhang
2019-12-17 9:47 ` [PATCH bpf-next v13 1/2] bpf: add new helper get_fd_path for mapping a file descriptor to a pathname Wenbo Zhang
2019-12-17 16:29 ` Yonghong Song
2019-12-17 19:39 ` Daniel Borkmann
2019-12-18 0:11 ` Wenbo Zhang
2019-12-18 0:06 ` Wenbo Zhang
2019-12-18 0:56 ` [PATCH bpf-next v14 0/2] bpf: adding get_fd_path helper Wenbo Zhang
2019-12-18 0:56 ` [PATCH bpf-next v14 1/2] bpf: add new helper get_fd_path for mapping a file descriptor to a pathname Wenbo Zhang
2019-12-18 3:27 ` Yonghong Song
2019-12-19 16:14 ` Daniel Borkmann
2019-12-20 3:35 ` Wenbo Zhang
2020-01-16 8:59 ` Jiri Olsa
2020-02-10 4:43 ` Brendan Gregg
2020-02-11 0:01 ` Daniel Borkmann
2020-02-12 15:21 ` Jiri Olsa
2020-06-01 14:17 ` Wenbo Zhang
2020-06-01 16:38 ` Alexei Starovoitov
2020-06-02 3:04 ` Wenbo Zhang
2020-06-02 8:14 ` Jiri Olsa
2019-12-18 0:56 ` [PATCH bpf-next v14 2/2] selftests/bpf: test for bpf_get_fd_path() from tracepoint Wenbo Zhang
2019-12-18 3:27 ` Yonghong Song
2019-12-17 9:47 ` [PATCH bpf-next v13 " Wenbo Zhang
2019-12-17 16:32 ` Yonghong Song
2019-12-15 4:01 ` [PATCH bpf-next v12 2/2] selftests/bpf: test for bpf_get_file_path() " Wenbo Zhang
2019-12-15 16:24 ` Yonghong Song
2019-12-17 4:01 ` Wenbo Zhang
2019-12-17 4:13 ` Yonghong Song
2019-12-17 9:44 ` Wenbo Zhang
2019-12-05 4:20 ` [PATCH bpf-next v11 " Wenbo Zhang
2019-11-19 13:27 ` [PATCH bpf-next v10 " Wenbo Zhang
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=cover.1574162990.git.ethercflow@gmail.com \
--to=ethercflow@gmail.com \
--cc=andrii.nakryiko@gmail.com \
--cc=ast@kernel.org.com \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=netdev@vger.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 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).