[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240702131150.15622-1-chen.dylane@gmail.com>
Date: Tue, 2 Jul 2024 21:11:50 +0800
From: Tao Chen <chen.dylane@...il.com>
To: Quentin Monnet <qmo@...nel.org>
Cc: Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>,
bpf@...r.kernel.org,
Martin KaFai Lau <martin.lau@...ux.dev>,
Eduard Zingerman <eddyz87@...il.com>,
Song Liu <song@...nel.org>,
Yonghong Song <yonghong.song@...ux.dev>,
linux-kernel@...r.kernel.org,
chen.dylane@...il.com
Subject: [PATCH bpf-next] bpftool: Mount bpffs when pinmaps path not under the bpffs
As qmonnet said [1], map pinning will fail if the pinmaps path not under
the bpffs, like:
libbpf: specified path /home/ubuntu/test/sock_ops_map is not on BPF FS
Error: failed to pin all maps
[1]: https://github.com/libbpf/bpftool/issues/146
Fixes: 3767a94b3253 ("bpftool: add pinmaps argument to the load/loadall")
Signed-off-by: Tao Chen <chen.dylane@...il.com>
---
tools/bpf/bpftool/prog.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c
index 1a501cf09e78..40ea743d139f 100644
--- a/tools/bpf/bpftool/prog.c
+++ b/tools/bpf/bpftool/prog.c
@@ -1813,6 +1813,10 @@ static int load_with_options(int argc, char **argv, bool first_prog_only)
}
if (pinmaps) {
+ err = create_and_mount_bpffs_dir(pinmaps);
+ if (err)
+ goto err_unpin;
+
err = bpf_object__pin_maps(obj, pinmaps);
if (err) {
p_err("failed to pin all maps");
--
2.34.1
Powered by blists - more mailing lists