libbpf: Skip bpf_object__probe_loading for light skeleton
authorStanislav Fomichev <sdf@google.com>
Fri, 21 May 2021 03:06:53 +0000 (20:06 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Mon, 24 May 2021 19:22:09 +0000 (12:22 -0700)
I'm getting the following error when running 'gen skeleton -L' as
regular user:

libbpf: Error in bpf_object__probe_loading():Operation not permitted(1).
Couldn't load trivial BPF program. Make sure your kernel supports BPF
(CONFIG_BPF_SYSCALL=y) and/or that RLIMIT_MEMLOCK is set to big enough
value.

Fixes: 67234743736a ("libbpf: Generate loader program out of BPF ELF file.")
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20210521030653.2626513-1-sdf@google.com
tools/lib/bpf/libbpf.c

index dc4d5fe..b396e45 100644 (file)
@@ -3971,6 +3971,9 @@ bpf_object__probe_loading(struct bpf_object *obj)
        };
        int ret;
 
+       if (obj->gen_loader)
+               return 0;
+
        /* make sure basic loading works */
 
        memset(&attr, 0, sizeof(attr));