diff options
| author | Daniel Borkmann <daniel@iogearbox.net> | 2018-02-15 04:01:06 -0500 |
|---|---|---|
| committer | Daniel Borkmann <daniel@iogearbox.net> | 2018-02-15 04:01:06 -0500 |
| commit | 67e3a172eba577f16ceae712d835b835b9718d61 (patch) | |
| tree | 90fef11760b8c33974b2027dd1e25ff5d264de52 /tools | |
| parent | 9c481b908b011398b1491752271cd1e2c9ad5758 (diff) | |
| parent | 9be6d411b0c473d31f756993b8b41bb16b0679c1 (diff) | |
Merge branch 'bpf-bpftool-json-fixes'
Quentin Monnet says:
====================
These are two minor fixes to avoid breaking JSON output in batch mode. The
first one makes bpftool output a "null" JSON object, as expected in batch
mode if nothing else is to be printed, when dumping program instructions
into an output file. The second one replaces a call to "perror()" with
something that does not break JSON when parsing input file for batch mode.
====================
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/bpf/bpftool/main.c | 2 | ||||
| -rw-r--r-- | tools/bpf/bpftool/prog.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/tools/bpf/bpftool/main.c b/tools/bpf/bpftool/main.c index 3a0396d87c42..185acfa229b5 100644 --- a/tools/bpf/bpftool/main.c +++ b/tools/bpf/bpftool/main.c | |||
| @@ -244,7 +244,7 @@ static int do_batch(int argc, char **argv) | |||
| 244 | } | 244 | } |
| 245 | 245 | ||
| 246 | if (errno && errno != ENOENT) { | 246 | if (errno && errno != ENOENT) { |
| 247 | perror("reading batch file failed"); | 247 | p_err("reading batch file failed: %s", strerror(errno)); |
| 248 | err = -1; | 248 | err = -1; |
| 249 | } else { | 249 | } else { |
| 250 | p_info("processed %d lines", lines); | 250 | p_info("processed %d lines", lines); |
diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c index e8e2baaf93c2..e549e329be82 100644 --- a/tools/bpf/bpftool/prog.c +++ b/tools/bpf/bpftool/prog.c | |||
| @@ -774,6 +774,9 @@ static int do_dump(int argc, char **argv) | |||
| 774 | n < 0 ? strerror(errno) : "short write"); | 774 | n < 0 ? strerror(errno) : "short write"); |
| 775 | goto err_free; | 775 | goto err_free; |
| 776 | } | 776 | } |
| 777 | |||
| 778 | if (json_output) | ||
| 779 | jsonw_null(json_wtr); | ||
| 777 | } else { | 780 | } else { |
| 778 | if (member_len == &info.jited_prog_len) { | 781 | if (member_len == &info.jited_prog_len) { |
| 779 | const char *name = NULL; | 782 | const char *name = NULL; |
