On Thu, Aug 14, 2014 at 12:29 PM, Brendan Gregg
[off-list ref] wrote:
On Wed, Aug 13, 2014 at 12:57 AM, Alexei Starovoitov [off-list ref] wrote:
[...]
quoted
+static int load_and_attach(const char *event, struct bpf_insn *prog, int size)
+{
+ int fd, event_fd, err;
+ char fmt[32];
+ char path[256] = DEBUGFS;
+
+ fd = bpf_prog_load(BPF_PROG_TYPE_TRACING_FILTER, prog, size, license);
+
+ if (fd < 0) {
+ printf("err %d errno %d\n", fd, errno);
+ return fd;
+ }
Minor suggestion: since this is sample code, I'd always print the bpf
log after this this printf() error message:
printf("%s", bpf_log_buf);
Which has helped me debug my eBPF programs, as will be the case for
anyone hacking on the examples.
Good point. Will do in V5.
Or have a function for logdie(), if
the log buffer may be populated with useful messages from other error
paths as well.
This log buffer is an optional buffer that eBPF verifier is using to
store its messages. Mainly for humans to understand why verifier
rejected the program. It's also used by verifier testsuite to check
that reject reason actually matches the test intent.