Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
Alexei Starovoitov says: ==================== pull-request: bpf-next 2021-12-30 The following pull-request contains BPF updates for your *net-next* tree. We've added 72 non-merge commits during the last 20 day(s) which contain a total of 223 files changed, 3510 insertions(+), 1591 deletions(-). The main changes are: 1) Automatic setrlimit in libbpf when bpf is memcg's in the kernel, from Andrii. 2) Beautify and de-verbose verifier logs, from Christy. 3) Composable verifier types, from Hao. 4) bpf_strncmp helper, from Hou. 5) bpf.h header dependency cleanup, from Jakub. 6) get_func_[arg|ret|arg_cnt] helpers, from Jiri. 7) Sleepable local storage, from KP. 8) Extend kfunc with PTR_TO_CTX, PTR_TO_MEM argument support, from Kumar. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -120,6 +120,9 @@ static void do_error(char *msg, bool errno_flag)
|
||||
|
||||
static int prog_load(char *prog)
|
||||
{
|
||||
struct bpf_program *pos;
|
||||
const char *sec_name;
|
||||
|
||||
obj = bpf_object__open_file(prog, NULL);
|
||||
if (libbpf_get_error(obj)) {
|
||||
printf("ERROR: opening BPF object file failed\n");
|
||||
@@ -132,7 +135,13 @@ static int prog_load(char *prog)
|
||||
goto err;
|
||||
}
|
||||
|
||||
bpf_prog = bpf_object__find_program_by_title(obj, "cgroup_skb/egress");
|
||||
bpf_object__for_each_program(pos, obj) {
|
||||
sec_name = bpf_program__section_name(pos);
|
||||
if (sec_name && !strcmp(sec_name, "cgroup_skb/egress")) {
|
||||
bpf_prog = pos;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!bpf_prog) {
|
||||
printf("ERROR: finding a prog in obj file failed\n");
|
||||
goto err;
|
||||
|
||||
@@ -79,7 +79,9 @@ int main(int argc, char **argv)
|
||||
.prog_type = BPF_PROG_TYPE_XDP,
|
||||
};
|
||||
const char *prog_name = "xdp_fwd";
|
||||
struct bpf_program *prog;
|
||||
struct bpf_program *prog = NULL;
|
||||
struct bpf_program *pos;
|
||||
const char *sec_name;
|
||||
int prog_fd, map_fd = -1;
|
||||
char filename[PATH_MAX];
|
||||
struct bpf_object *obj;
|
||||
@@ -134,7 +136,13 @@ int main(int argc, char **argv)
|
||||
return 1;
|
||||
}
|
||||
|
||||
prog = bpf_object__find_program_by_title(obj, prog_name);
|
||||
bpf_object__for_each_program(pos, obj) {
|
||||
sec_name = bpf_program__section_name(pos);
|
||||
if (sec_name && !strcmp(sec_name, prog_name)) {
|
||||
prog = pos;
|
||||
break;
|
||||
}
|
||||
}
|
||||
prog_fd = bpf_program__fd(prog);
|
||||
if (prog_fd < 0) {
|
||||
printf("program not found: %s\n", strerror(prog_fd));
|
||||
|
||||
Reference in New Issue
Block a user