Fix error: "failed to pin map: Bad file descriptor, path:
/sys/fs/bpf/_rodata_str1_1."
In the old kernel, the global data map will not be created, see [0]. So
we should skip the pinning of the global data map to avoid bpf_object__pin_maps returning error.
[0]: https://lore.kernel.org/bpf/20211123200105.387855-1-andrii@kernel.org
Signed-off-by: Shuyi Cheng <redacted>
---
tools/lib/bpf/libbpf.c | 4 ++++
1 file changed, 4 insertions(+)
On Thu, Dec 9, 2021 at 12:44 AM Shuyi Cheng
[off-list ref] wrote:
quoted hunk
Fix error: "failed to pin map: Bad file descriptor, path:
/sys/fs/bpf/_rodata_str1_1."
In the old kernel, the global data map will not be created, see [0]. So
we should skip the pinning of the global data map to avoid
bpf_object__pin_maps returning error.
[0]: https://lore.kernel.org/bpf/20211123200105.387855-1-andrii@kernel.org
Signed-off-by: Shuyi Cheng <redacted>
---
tools/lib/bpf/libbpf.c | 4 ++++
1 file changed, 4 insertions(+)
doing the same check in 3 different places sucks. Let's add "bool
skipped" to struct bpf_map, which will be set in one place (at the map
creation time) and then check during relocation and during pinning?
+ continue;
+
if (path) {
int len;
--
2.19.1.6.gb485710b
On Thu, Dec 9, 2021 at 12:44 AM Shuyi Cheng
[off-list ref] wrote:
quoted
Fix error: "failed to pin map: Bad file descriptor, path:
/sys/fs/bpf/_rodata_str1_1."
In the old kernel, the global data map will not be created, see [0]. So
we should skip the pinning of the global data map to avoid
bpf_object__pin_maps returning error.
[0]: https://lore.kernel.org/bpf/20211123200105.387855-1-andrii@kernel.org
Signed-off-by: Shuyi Cheng <redacted>
---
tools/lib/bpf/libbpf.c | 4 ++++
1 file changed, 4 insertions(+)
doing the same check in 3 different places sucks. Let's add "bool
skipped" to struct bpf_map, which will be set in one place (at the map
creation time) and then check during relocation and during pinning?
Agree, thanks.
regards,
Shuyi
quoted
+ continue;
+
if (path) {
int len;
--
2.19.1.6.gb485710b