diff mbox series

[bpf] bpftool: Respect the -d option in struct_ops cmd

Message ID 20200424182911.1259355-1-kafai@fb.com
State Accepted
Delegated to: BPF Maintainers
Headers show
Series [bpf] bpftool: Respect the -d option in struct_ops cmd | expand

Commit Message

Martin KaFai Lau April 24, 2020, 6:29 p.m. UTC
In the prog cmd, the "-d" option turns on the verifier log.
This is missed in the "struct_ops" cmd and this patch fixes it.

Fixes: 65c93628599d ("bpftool: Add struct_ops support")
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
---
 tools/bpf/bpftool/struct_ops.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Quentin Monnet April 24, 2020, 7:01 p.m. UTC | #1
2020-04-24 11:29 UTC-0700 ~ Martin KaFai Lau <kafai@fb.com>
> In the prog cmd, the "-d" option turns on the verifier log.
> This is missed in the "struct_ops" cmd and this patch fixes it.
> 
> Fixes: 65c93628599d ("bpftool: Add struct_ops support")
> Signed-off-by: Martin KaFai Lau <kafai@fb.com>

Looks good to me, thanks!
Reviewed-by: Quentin Monnet <quentin@isovalent.com>
Alexei Starovoitov April 25, 2020, 12:41 a.m. UTC | #2
On Fri, Apr 24, 2020 at 12:01 PM Quentin Monnet <quentin@isovalent.com> wrote:
>
> 2020-04-24 11:29 UTC-0700 ~ Martin KaFai Lau <kafai@fb.com>
> > In the prog cmd, the "-d" option turns on the verifier log.
> > This is missed in the "struct_ops" cmd and this patch fixes it.
> >
> > Fixes: 65c93628599d ("bpftool: Add struct_ops support")
> > Signed-off-by: Martin KaFai Lau <kafai@fb.com>
>
> Looks good to me, thanks!
> Reviewed-by: Quentin Monnet <quentin@isovalent.com>

Applied. Thanks
diff mbox series

Patch

diff --git a/tools/bpf/bpftool/struct_ops.c b/tools/bpf/bpftool/struct_ops.c
index 0fe0d584c57e..e17738479edc 100644
--- a/tools/bpf/bpftool/struct_ops.c
+++ b/tools/bpf/bpftool/struct_ops.c
@@ -479,6 +479,7 @@  static int do_unregister(int argc, char **argv)
 
 static int do_register(int argc, char **argv)
 {
+	struct bpf_object_load_attr load_attr = {};
 	const struct bpf_map_def *def;
 	struct bpf_map_info info = {};
 	__u32 info_len = sizeof(info);
@@ -499,7 +500,12 @@  static int do_register(int argc, char **argv)
 
 	set_max_rlimit();
 
-	if (bpf_object__load(obj)) {
+	load_attr.obj = obj;
+	if (verifier_logs)
+		/* log_level1 + log_level2 + stats, but not stable UAPI */
+		load_attr.log_level = 1 + 2 + 4;
+
+	if (bpf_object__load_xattr(&load_attr)) {
 		bpf_object__close(obj);
 		return -1;
 	}