Commit 1528f6e2 authored by David S. Miller's avatar David S. Miller

Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf

Daniel Borkmann says:

====================
pull-request: bpf 2017-12-28

The following pull-request contains BPF updates for your *net* tree.

The main changes are:

1) Two small fixes for bpftool. Fix otherwise broken output if any of
   the system calls failed when listing maps in json format and instead
   of bailing out, skip maps or progs that disappeared between fetching
   next id and getting an fd for that id, both from Jakub.

2) Small fix in BPF selftests to respect LLC passed from command line
   when testing for -mcpu=probe presence, from Quentin.
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 8cb38a60 aee65746
...@@ -523,21 +523,23 @@ static int do_show(int argc, char **argv) ...@@ -523,21 +523,23 @@ static int do_show(int argc, char **argv)
break; break;
p_err("can't get next map: %s%s", strerror(errno), p_err("can't get next map: %s%s", strerror(errno),
errno == EINVAL ? " -- kernel too old?" : ""); errno == EINVAL ? " -- kernel too old?" : "");
return -1; break;
} }
fd = bpf_map_get_fd_by_id(id); fd = bpf_map_get_fd_by_id(id);
if (fd < 0) { if (fd < 0) {
if (errno == ENOENT)
continue;
p_err("can't get map by id (%u): %s", p_err("can't get map by id (%u): %s",
id, strerror(errno)); id, strerror(errno));
return -1; break;
} }
err = bpf_obj_get_info_by_fd(fd, &info, &len); err = bpf_obj_get_info_by_fd(fd, &info, &len);
if (err) { if (err) {
p_err("can't get map info: %s", strerror(errno)); p_err("can't get map info: %s", strerror(errno));
close(fd); close(fd);
return -1; break;
} }
if (json_output) if (json_output)
......
...@@ -382,6 +382,8 @@ static int do_show(int argc, char **argv) ...@@ -382,6 +382,8 @@ static int do_show(int argc, char **argv)
fd = bpf_prog_get_fd_by_id(id); fd = bpf_prog_get_fd_by_id(id);
if (fd < 0) { if (fd < 0) {
if (errno == ENOENT)
continue;
p_err("can't get prog by id (%u): %s", p_err("can't get prog by id (%u): %s",
id, strerror(errno)); id, strerror(errno));
err = -1; err = -1;
......
...@@ -39,7 +39,7 @@ $(BPFOBJ): force ...@@ -39,7 +39,7 @@ $(BPFOBJ): force
CLANG ?= clang CLANG ?= clang
LLC ?= llc LLC ?= llc
PROBE := $(shell llc -march=bpf -mcpu=probe -filetype=null /dev/null 2>&1) PROBE := $(shell $(LLC) -march=bpf -mcpu=probe -filetype=null /dev/null 2>&1)
# Let newer LLVM versions transparently probe the kernel for availability # Let newer LLVM versions transparently probe the kernel for availability
# of full BPF instruction set. # of full BPF instruction set.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment