Commit cbdb1461 authored by Andrii Nakryiko's avatar Andrii Nakryiko Committed by Alexei Starovoitov

selftests/bpf: Use explicit bpf_prog_test_load() calls everywhere

-Dbpf_prog_load_deprecated=bpf_prog_test_load trick is both ugly and
breaks when deprecation goes into effect due to macro magic. Convert all
the uses to explicit bpf_prog_test_load() calls which avoid deprecation
errors and makes everything less magical.
Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Acked-by: default avatarDave Marchevsky <davemarchevsky@fb.com>
Link: https://lore.kernel.org/bpf/20211103220845.2676888-12-andrii@kernel.org
parent f87c1930
...@@ -24,7 +24,6 @@ SAN_CFLAGS ?= ...@@ -24,7 +24,6 @@ SAN_CFLAGS ?=
CFLAGS += -g -O0 -rdynamic -Wall $(GENFLAGS) $(SAN_CFLAGS) \ CFLAGS += -g -O0 -rdynamic -Wall $(GENFLAGS) $(SAN_CFLAGS) \
-I$(CURDIR) -I$(INCLUDE_DIR) -I$(GENDIR) -I$(LIBDIR) \ -I$(CURDIR) -I$(INCLUDE_DIR) -I$(GENDIR) -I$(LIBDIR) \
-I$(TOOLSINCDIR) -I$(APIDIR) -I$(OUTPUT) \ -I$(TOOLSINCDIR) -I$(APIDIR) -I$(OUTPUT) \
-Dbpf_prog_load_deprecated=bpf_prog_test_load \
-Dbpf_load_program=bpf_test_load_program -Dbpf_load_program=bpf_test_load_program
LDLIBS += -lcap -lelf -lz -lrt -lpthread LDLIBS += -lcap -lelf -lz -lrt -lpthread
...@@ -207,6 +206,7 @@ $(OUTPUT)/test_lirc_mode2_user: testing_helpers.o ...@@ -207,6 +206,7 @@ $(OUTPUT)/test_lirc_mode2_user: testing_helpers.o
$(OUTPUT)/xdping: testing_helpers.o $(OUTPUT)/xdping: testing_helpers.o
$(OUTPUT)/flow_dissector_load: testing_helpers.o $(OUTPUT)/flow_dissector_load: testing_helpers.o
$(OUTPUT)/test_maps: testing_helpers.o $(OUTPUT)/test_maps: testing_helpers.o
$(OUTPUT)/test_verifier: testing_helpers.o
BPFTOOL ?= $(DEFAULT_BPFTOOL) BPFTOOL ?= $(DEFAULT_BPFTOOL)
$(DEFAULT_BPFTOOL): $(wildcard $(BPFTOOLDIR)/*.[ch] $(BPFTOOLDIR)/Makefile) \ $(DEFAULT_BPFTOOL): $(wildcard $(BPFTOOLDIR)/*.[ch] $(BPFTOOLDIR)/Makefile) \
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include <bpf/bpf.h> #include <bpf/bpf.h>
#include <bpf/libbpf.h> #include <bpf/libbpf.h>
#include "testing_helpers.h"
static inline int bpf_flow_load(struct bpf_object **obj, static inline int bpf_flow_load(struct bpf_object **obj,
const char *path, const char *path,
...@@ -18,7 +19,7 @@ static inline int bpf_flow_load(struct bpf_object **obj, ...@@ -18,7 +19,7 @@ static inline int bpf_flow_load(struct bpf_object **obj,
int prog_array_fd; int prog_array_fd;
int ret, fd, i; int ret, fd, i;
ret = bpf_prog_load(path, BPF_PROG_TYPE_FLOW_DISSECTOR, obj, ret = bpf_prog_test_load(path, BPF_PROG_TYPE_FLOW_DISSECTOR, obj,
prog_fd); prog_fd);
if (ret) if (ret)
return ret; return ret;
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include <bpf/libbpf.h> #include <bpf/libbpf.h>
#include "cgroup_helpers.h" #include "cgroup_helpers.h"
#include "testing_helpers.h"
#include "bpf_rlimit.h" #include "bpf_rlimit.h"
#define CHECK(condition, tag, format...) ({ \ #define CHECK(condition, tag, format...) ({ \
...@@ -66,8 +67,8 @@ int main(int argc, char **argv) ...@@ -66,8 +67,8 @@ int main(int argc, char **argv)
if (CHECK(cgroup_fd < 0, "cgroup_setup_and_join", "err %d errno %d\n", cgroup_fd, errno)) if (CHECK(cgroup_fd < 0, "cgroup_setup_and_join", "err %d errno %d\n", cgroup_fd, errno))
return 1; return 1;
err = bpf_prog_load(file, BPF_PROG_TYPE_TRACEPOINT, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_TRACEPOINT, &obj, &prog_fd);
if (CHECK(err, "bpf_prog_load", "err %d errno %d\n", err, errno)) if (CHECK(err, "bpf_prog_test_load", "err %d errno %d\n", err, errno))
goto cleanup_cgroup_env; goto cleanup_cgroup_env;
cgidmap_fd = bpf_find_map(__func__, obj, "cg_ids"); cgidmap_fd = bpf_find_map(__func__, obj, "cg_ids");
......
...@@ -48,7 +48,7 @@ void serial_test_bpf_obj_id(void) ...@@ -48,7 +48,7 @@ void serial_test_bpf_obj_id(void)
bzero(zeros, sizeof(zeros)); bzero(zeros, sizeof(zeros));
for (i = 0; i < nr_iters; i++) { for (i = 0; i < nr_iters; i++) {
now = time(NULL); now = time(NULL);
err = bpf_prog_load(file, BPF_PROG_TYPE_RAW_TRACEPOINT, err = bpf_prog_test_load(file, BPF_PROG_TYPE_RAW_TRACEPOINT,
&objs[i], &prog_fds[i]); &objs[i], &prog_fds[i]);
/* test_obj_id.o is a dumb prog. It should never fail /* test_obj_id.o is a dumb prog. It should never fail
* to load. * to load.
......
...@@ -65,7 +65,7 @@ static void test_fexit_bpf2bpf_common(const char *obj_file, ...@@ -65,7 +65,7 @@ static void test_fexit_bpf2bpf_common(const char *obj_file,
int err, tgt_fd, i; int err, tgt_fd, i;
struct btf *btf; struct btf *btf;
err = bpf_prog_load(target_obj_file, BPF_PROG_TYPE_UNSPEC, err = bpf_prog_test_load(target_obj_file, BPF_PROG_TYPE_UNSPEC,
&tgt_obj, &tgt_fd); &tgt_obj, &tgt_fd);
if (!ASSERT_OK(err, "tgt_prog_load")) if (!ASSERT_OK(err, "tgt_prog_load"))
return; return;
...@@ -224,7 +224,7 @@ static int test_second_attach(struct bpf_object *obj) ...@@ -224,7 +224,7 @@ static int test_second_attach(struct bpf_object *obj)
if (CHECK(!prog, "find_prog", "prog %s not found\n", prog_name)) if (CHECK(!prog, "find_prog", "prog %s not found\n", prog_name))
return -ENOENT; return -ENOENT;
err = bpf_prog_load(tgt_obj_file, BPF_PROG_TYPE_UNSPEC, err = bpf_prog_test_load(tgt_obj_file, BPF_PROG_TYPE_UNSPEC,
&tgt_obj, &tgt_fd); &tgt_obj, &tgt_fd);
if (CHECK(err, "second_prog_load", "file %s err %d errno %d\n", if (CHECK(err, "second_prog_load", "file %s err %d errno %d\n",
tgt_obj_file, err, errno)) tgt_obj_file, err, errno))
...@@ -274,7 +274,7 @@ static void test_fmod_ret_freplace(void) ...@@ -274,7 +274,7 @@ static void test_fmod_ret_freplace(void)
__u32 duration = 0; __u32 duration = 0;
int err, pkt_fd, attach_prog_fd; int err, pkt_fd, attach_prog_fd;
err = bpf_prog_load(tgt_name, BPF_PROG_TYPE_UNSPEC, err = bpf_prog_test_load(tgt_name, BPF_PROG_TYPE_UNSPEC,
&pkt_obj, &pkt_fd); &pkt_obj, &pkt_fd);
/* the target prog should load fine */ /* the target prog should load fine */
if (CHECK(err, "tgt_prog_load", "file %s err %d errno %d\n", if (CHECK(err, "tgt_prog_load", "file %s err %d errno %d\n",
...@@ -341,7 +341,7 @@ static void test_obj_load_failure_common(const char *obj_file, ...@@ -341,7 +341,7 @@ static void test_obj_load_failure_common(const char *obj_file,
int err, pkt_fd; int err, pkt_fd;
__u32 duration = 0; __u32 duration = 0;
err = bpf_prog_load(target_obj_file, BPF_PROG_TYPE_UNSPEC, err = bpf_prog_test_load(target_obj_file, BPF_PROG_TYPE_UNSPEC,
&pkt_obj, &pkt_fd); &pkt_obj, &pkt_fd);
/* the target prog should load fine */ /* the target prog should load fine */
if (CHECK(err, "tgt_prog_load", "file %s err %d errno %d\n", if (CHECK(err, "tgt_prog_load", "file %s err %d errno %d\n",
......
...@@ -94,11 +94,11 @@ void test_get_stack_raw_tp(void) ...@@ -94,11 +94,11 @@ void test_get_stack_raw_tp(void)
struct bpf_map *map; struct bpf_map *map;
cpu_set_t cpu_set; cpu_set_t cpu_set;
err = bpf_prog_load(file_err, BPF_PROG_TYPE_RAW_TRACEPOINT, &obj, &prog_fd); err = bpf_prog_test_load(file_err, BPF_PROG_TYPE_RAW_TRACEPOINT, &obj, &prog_fd);
if (CHECK(err >= 0, "prog_load raw tp", "err %d errno %d\n", err, errno)) if (CHECK(err >= 0, "prog_load raw tp", "err %d errno %d\n", err, errno))
return; return;
err = bpf_prog_load(file, BPF_PROG_TYPE_RAW_TRACEPOINT, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_RAW_TRACEPOINT, &obj, &prog_fd);
if (CHECK(err, "prog_load raw tp", "err %d errno %d\n", err, errno)) if (CHECK(err, "prog_load raw tp", "err %d errno %d\n", err, errno))
return; return;
......
...@@ -136,7 +136,7 @@ void test_global_data(void) ...@@ -136,7 +136,7 @@ void test_global_data(void)
struct bpf_object *obj; struct bpf_object *obj;
int err, prog_fd; int err, prog_fd;
err = bpf_prog_load(file, BPF_PROG_TYPE_SCHED_CLS, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_SCHED_CLS, &obj, &prog_fd);
if (CHECK(err, "load program", "error %d loading %s\n", err, file)) if (CHECK(err, "load program", "error %d loading %s\n", err, file))
return; return;
......
...@@ -44,7 +44,7 @@ void test_global_func_args(void) ...@@ -44,7 +44,7 @@ void test_global_func_args(void)
struct bpf_object *obj; struct bpf_object *obj;
int err, prog_fd; int err, prog_fd;
err = bpf_prog_load(file, BPF_PROG_TYPE_CGROUP_SKB, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_CGROUP_SKB, &obj, &prog_fd);
if (CHECK(err, "load program", "error %d loading %s\n", err, file)) if (CHECK(err, "load program", "error %d loading %s\n", err, file))
return; return;
......
...@@ -74,7 +74,7 @@ void serial_test_kfree_skb(void) ...@@ -74,7 +74,7 @@ void serial_test_kfree_skb(void)
const int zero = 0; const int zero = 0;
bool test_ok[2]; bool test_ok[2];
err = bpf_prog_load("./test_pkt_access.o", BPF_PROG_TYPE_SCHED_CLS, err = bpf_prog_test_load("./test_pkt_access.o", BPF_PROG_TYPE_SCHED_CLS,
&obj, &tattr.prog_fd); &obj, &tattr.prog_fd);
if (CHECK(err, "prog_load sched cls", "err %d errno %d\n", err, errno)) if (CHECK(err, "prog_load sched cls", "err %d errno %d\n", err, errno))
return; return;
......
...@@ -30,7 +30,7 @@ static void test_l4lb(const char *file) ...@@ -30,7 +30,7 @@ static void test_l4lb(const char *file)
char buf[128]; char buf[128];
u32 *magic = (u32 *)buf; u32 *magic = (u32 *)buf;
err = bpf_prog_load(file, BPF_PROG_TYPE_SCHED_CLS, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_SCHED_CLS, &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
......
...@@ -27,7 +27,7 @@ void test_load_bytes_relative(void) ...@@ -27,7 +27,7 @@ void test_load_bytes_relative(void)
if (CHECK_FAIL(server_fd < 0)) if (CHECK_FAIL(server_fd < 0))
goto close_cgroup_fd; goto close_cgroup_fd;
err = bpf_prog_load("./load_bytes_relative.o", BPF_PROG_TYPE_CGROUP_SKB, err = bpf_prog_test_load("./load_bytes_relative.o", BPF_PROG_TYPE_CGROUP_SKB,
&obj, &prog_fd); &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
goto close_server_fd; goto close_server_fd;
......
...@@ -53,9 +53,9 @@ void test_map_lock(void) ...@@ -53,9 +53,9 @@ void test_map_lock(void)
int err = 0, key = 0, i; int err = 0, key = 0, i;
void *ret; void *ret;
err = bpf_prog_load(file, BPF_PROG_TYPE_CGROUP_SKB, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_CGROUP_SKB, &obj, &prog_fd);
if (CHECK_FAIL(err)) { if (CHECK_FAIL(err)) {
printf("test_map_lock:bpf_prog_load errno %d\n", errno); printf("test_map_lock:bpf_prog_test_load errno %d\n", errno);
goto close_prog; goto close_prog;
} }
map_fd[0] = bpf_find_map(__func__, obj, "hash_map"); map_fd[0] = bpf_find_map(__func__, obj, "hash_map");
......
...@@ -9,7 +9,7 @@ void test_pkt_access(void) ...@@ -9,7 +9,7 @@ void test_pkt_access(void)
__u32 duration, retval; __u32 duration, retval;
int err, prog_fd; int err, prog_fd;
err = bpf_prog_load(file, BPF_PROG_TYPE_SCHED_CLS, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_SCHED_CLS, &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
......
...@@ -9,7 +9,7 @@ void test_pkt_md_access(void) ...@@ -9,7 +9,7 @@ void test_pkt_md_access(void)
__u32 duration, retval; __u32 duration, retval;
int err, prog_fd; int err, prog_fd;
err = bpf_prog_load(file, BPF_PROG_TYPE_SCHED_CLS, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_SCHED_CLS, &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
......
...@@ -27,7 +27,7 @@ static void test_queue_stack_map_by_type(int type) ...@@ -27,7 +27,7 @@ static void test_queue_stack_map_by_type(int type)
else else
return; return;
err = bpf_prog_load(file, BPF_PROG_TYPE_SCHED_CLS, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_SCHED_CLS, &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
......
...@@ -32,7 +32,7 @@ void test_skb_ctx(void) ...@@ -32,7 +32,7 @@ void test_skb_ctx(void)
int err; int err;
int i; int i;
err = bpf_prog_load("./test_skb_ctx.o", BPF_PROG_TYPE_SCHED_CLS, &obj, err = bpf_prog_test_load("./test_skb_ctx.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
&tattr.prog_fd); &tattr.prog_fd);
if (CHECK_ATTR(err, "load", "err %d errno %d\n", err, errno)) if (CHECK_ATTR(err, "load", "err %d errno %d\n", err, errno))
return; return;
......
...@@ -20,7 +20,7 @@ void test_skb_helpers(void) ...@@ -20,7 +20,7 @@ void test_skb_helpers(void)
struct bpf_object *obj; struct bpf_object *obj;
int err; int err;
err = bpf_prog_load("./test_skb_helpers.o", BPF_PROG_TYPE_SCHED_CLS, &obj, err = bpf_prog_test_load("./test_skb_helpers.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
&tattr.prog_fd); &tattr.prog_fd);
if (CHECK_ATTR(err, "load", "err %d errno %d\n", err, errno)) if (CHECK_ATTR(err, "load", "err %d errno %d\n", err, errno))
return; return;
......
...@@ -24,9 +24,9 @@ void test_spinlock(void) ...@@ -24,9 +24,9 @@ void test_spinlock(void)
int err = 0, i; int err = 0, i;
void *ret; void *ret;
err = bpf_prog_load(file, BPF_PROG_TYPE_CGROUP_SKB, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_CGROUP_SKB, &obj, &prog_fd);
if (CHECK_FAIL(err)) { if (CHECK_FAIL(err)) {
printf("test_spin_lock:bpf_prog_load errno %d\n", errno); printf("test_spin_lock:bpf_prog_test_load errno %d\n", errno);
goto close_prog; goto close_prog;
} }
for (i = 0; i < 4; i++) for (i = 0; i < 4; i++)
......
...@@ -12,7 +12,7 @@ void test_stacktrace_map(void) ...@@ -12,7 +12,7 @@ void test_stacktrace_map(void)
struct bpf_object *obj; struct bpf_object *obj;
struct bpf_link *link; struct bpf_link *link;
err = bpf_prog_load(file, BPF_PROG_TYPE_TRACEPOINT, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_TRACEPOINT, &obj, &prog_fd);
if (CHECK(err, "prog_load", "err %d errno %d\n", err, errno)) if (CHECK(err, "prog_load", "err %d errno %d\n", err, errno))
return; return;
......
...@@ -12,7 +12,7 @@ void test_stacktrace_map_raw_tp(void) ...@@ -12,7 +12,7 @@ void test_stacktrace_map_raw_tp(void)
struct bpf_object *obj; struct bpf_object *obj;
struct bpf_link *link = NULL; struct bpf_link *link = NULL;
err = bpf_prog_load(file, BPF_PROG_TYPE_RAW_TRACEPOINT, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_RAW_TRACEPOINT, &obj, &prog_fd);
if (CHECK(err, "prog_load raw tp", "err %d errno %d\n", err, errno)) if (CHECK(err, "prog_load raw tp", "err %d errno %d\n", err, errno))
return; return;
......
...@@ -16,7 +16,7 @@ static void test_tailcall_1(void) ...@@ -16,7 +16,7 @@ static void test_tailcall_1(void)
char prog_name[32]; char prog_name[32];
char buff[128] = {}; char buff[128] = {};
err = bpf_prog_load("tailcall1.o", BPF_PROG_TYPE_SCHED_CLS, &obj, err = bpf_prog_test_load("tailcall1.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
&prog_fd); &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
...@@ -154,7 +154,7 @@ static void test_tailcall_2(void) ...@@ -154,7 +154,7 @@ static void test_tailcall_2(void)
char prog_name[32]; char prog_name[32];
char buff[128] = {}; char buff[128] = {};
err = bpf_prog_load("tailcall2.o", BPF_PROG_TYPE_SCHED_CLS, &obj, err = bpf_prog_test_load("tailcall2.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
&prog_fd); &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
...@@ -228,7 +228,7 @@ static void test_tailcall_count(const char *which) ...@@ -228,7 +228,7 @@ static void test_tailcall_count(const char *which)
__u32 retval, duration; __u32 retval, duration;
char buff[128] = {}; char buff[128] = {};
err = bpf_prog_load(which, BPF_PROG_TYPE_SCHED_CLS, &obj, err = bpf_prog_test_load(which, BPF_PROG_TYPE_SCHED_CLS, &obj,
&prog_fd); &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
...@@ -324,7 +324,7 @@ static void test_tailcall_4(void) ...@@ -324,7 +324,7 @@ static void test_tailcall_4(void)
char buff[128] = {}; char buff[128] = {};
char prog_name[32]; char prog_name[32];
err = bpf_prog_load("tailcall4.o", BPF_PROG_TYPE_SCHED_CLS, &obj, err = bpf_prog_test_load("tailcall4.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
&prog_fd); &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
...@@ -412,7 +412,7 @@ static void test_tailcall_5(void) ...@@ -412,7 +412,7 @@ static void test_tailcall_5(void)
char buff[128] = {}; char buff[128] = {};
char prog_name[32]; char prog_name[32];
err = bpf_prog_load("tailcall5.o", BPF_PROG_TYPE_SCHED_CLS, &obj, err = bpf_prog_test_load("tailcall5.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
&prog_fd); &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
...@@ -498,7 +498,7 @@ static void test_tailcall_bpf2bpf_1(void) ...@@ -498,7 +498,7 @@ static void test_tailcall_bpf2bpf_1(void)
__u32 retval, duration; __u32 retval, duration;
char prog_name[32]; char prog_name[32];
err = bpf_prog_load("tailcall_bpf2bpf1.o", BPF_PROG_TYPE_SCHED_CLS, err = bpf_prog_test_load("tailcall_bpf2bpf1.o", BPF_PROG_TYPE_SCHED_CLS,
&obj, &prog_fd); &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
...@@ -582,7 +582,7 @@ static void test_tailcall_bpf2bpf_2(void) ...@@ -582,7 +582,7 @@ static void test_tailcall_bpf2bpf_2(void)
__u32 retval, duration; __u32 retval, duration;
char buff[128] = {}; char buff[128] = {};
err = bpf_prog_load("tailcall_bpf2bpf2.o", BPF_PROG_TYPE_SCHED_CLS, err = bpf_prog_test_load("tailcall_bpf2bpf2.o", BPF_PROG_TYPE_SCHED_CLS,
&obj, &prog_fd); &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
...@@ -660,7 +660,7 @@ static void test_tailcall_bpf2bpf_3(void) ...@@ -660,7 +660,7 @@ static void test_tailcall_bpf2bpf_3(void)
__u32 retval, duration; __u32 retval, duration;
char prog_name[32]; char prog_name[32];
err = bpf_prog_load("tailcall_bpf2bpf3.o", BPF_PROG_TYPE_SCHED_CLS, err = bpf_prog_test_load("tailcall_bpf2bpf3.o", BPF_PROG_TYPE_SCHED_CLS,
&obj, &prog_fd); &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
...@@ -757,7 +757,7 @@ static void test_tailcall_bpf2bpf_4(bool noise) ...@@ -757,7 +757,7 @@ static void test_tailcall_bpf2bpf_4(bool noise)
__u32 retval, duration; __u32 retval, duration;
char prog_name[32]; char prog_name[32];
err = bpf_prog_load("tailcall_bpf2bpf4.o", BPF_PROG_TYPE_SCHED_CLS, err = bpf_prog_test_load("tailcall_bpf2bpf4.o", BPF_PROG_TYPE_SCHED_CLS,
&obj, &prog_fd); &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
......
...@@ -11,7 +11,7 @@ void test_task_fd_query_rawtp(void) ...@@ -11,7 +11,7 @@ void test_task_fd_query_rawtp(void)
__u32 duration = 0; __u32 duration = 0;
char buf[256]; char buf[256];
err = bpf_prog_load(file, BPF_PROG_TYPE_RAW_TRACEPOINT, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_RAW_TRACEPOINT, &obj, &prog_fd);
if (CHECK(err, "prog_load raw tp", "err %d errno %d\n", err, errno)) if (CHECK(err, "prog_load raw tp", "err %d errno %d\n", err, errno))
return; return;
......
...@@ -13,8 +13,8 @@ static void test_task_fd_query_tp_core(const char *probe_name, ...@@ -13,8 +13,8 @@ static void test_task_fd_query_tp_core(const char *probe_name,
__u32 duration = 0; __u32 duration = 0;
char buf[256]; char buf[256];
err = bpf_prog_load(file, BPF_PROG_TYPE_TRACEPOINT, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_TRACEPOINT, &obj, &prog_fd);
if (CHECK(err, "bpf_prog_load", "err %d errno %d\n", err, errno)) if (CHECK(err, "bpf_prog_test_load", "err %d errno %d\n", err, errno))
goto close_prog; goto close_prog;
snprintf(buf, sizeof(buf), snprintf(buf, sizeof(buf),
......
...@@ -8,7 +8,7 @@ void test_tcp_estats(void) ...@@ -8,7 +8,7 @@ void test_tcp_estats(void)
struct bpf_object *obj; struct bpf_object *obj;
__u32 duration = 0; __u32 duration = 0;
err = bpf_prog_load(file, BPF_PROG_TYPE_TRACEPOINT, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_TRACEPOINT, &obj, &prog_fd);
CHECK(err, "", "err %d errno %d\n", err, errno); CHECK(err, "", "err %d errno %d\n", err, errno);
if (err) if (err)
return; return;
......
...@@ -35,7 +35,7 @@ void serial_test_tp_attach_query(void) ...@@ -35,7 +35,7 @@ void serial_test_tp_attach_query(void)
query = malloc(sizeof(*query) + sizeof(__u32) * num_progs); query = malloc(sizeof(*query) + sizeof(__u32) * num_progs);
for (i = 0; i < num_progs; i++) { for (i = 0; i < num_progs; i++) {
err = bpf_prog_load(file, BPF_PROG_TYPE_TRACEPOINT, &obj[i], err = bpf_prog_test_load(file, BPF_PROG_TYPE_TRACEPOINT, &obj[i],
&prog_fd[i]); &prog_fd[i]);
if (CHECK(err, "prog_load", "err %d errno %d\n", err, errno)) if (CHECK(err, "prog_load", "err %d errno %d\n", err, errno))
goto cleanup1; goto cleanup1;
......
...@@ -16,7 +16,7 @@ void test_xdp(void) ...@@ -16,7 +16,7 @@ void test_xdp(void)
__u32 duration, retval, size; __u32 duration, retval, size;
int err, prog_fd, map_fd; int err, prog_fd, map_fd;
err = bpf_prog_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
......
...@@ -10,7 +10,7 @@ static void test_xdp_adjust_tail_shrink(void) ...@@ -10,7 +10,7 @@ static void test_xdp_adjust_tail_shrink(void)
int err, prog_fd; int err, prog_fd;
char buf[128]; char buf[128];
err = bpf_prog_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
...@@ -38,7 +38,7 @@ static void test_xdp_adjust_tail_grow(void) ...@@ -38,7 +38,7 @@ static void test_xdp_adjust_tail_grow(void)
__u32 duration, retval, size, expect_sz; __u32 duration, retval, size, expect_sz;
int err, prog_fd; int err, prog_fd;
err = bpf_prog_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
...@@ -75,7 +75,7 @@ static void test_xdp_adjust_tail_grow2(void) ...@@ -75,7 +75,7 @@ static void test_xdp_adjust_tail_grow2(void)
.data_size_out = 0, /* Per test */ .data_size_out = 0, /* Per test */
}; };
err = bpf_prog_load(file, BPF_PROG_TYPE_XDP, &obj, &tattr.prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj, &tattr.prog_fd);
if (CHECK_ATTR(err, "load", "err %d errno %d\n", err, errno)) if (CHECK_ATTR(err, "load", "err %d errno %d\n", err, errno))
return; return;
......
...@@ -16,7 +16,7 @@ void serial_test_xdp_attach(void) ...@@ -16,7 +16,7 @@ void serial_test_xdp_attach(void)
len = sizeof(info); len = sizeof(info);
err = bpf_prog_load(file, BPF_PROG_TYPE_XDP, &obj1, &fd1); err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj1, &fd1);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
err = bpf_obj_get_info_by_fd(fd1, &info, &len); err = bpf_obj_get_info_by_fd(fd1, &info, &len);
...@@ -24,7 +24,7 @@ void serial_test_xdp_attach(void) ...@@ -24,7 +24,7 @@ void serial_test_xdp_attach(void)
goto out_1; goto out_1;
id1 = info.id; id1 = info.id;
err = bpf_prog_load(file, BPF_PROG_TYPE_XDP, &obj2, &fd2); err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj2, &fd2);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
goto out_1; goto out_1;
...@@ -34,7 +34,7 @@ void serial_test_xdp_attach(void) ...@@ -34,7 +34,7 @@ void serial_test_xdp_attach(void)
goto out_2; goto out_2;
id2 = info.id; id2 = info.id;
err = bpf_prog_load(file, BPF_PROG_TYPE_XDP, &obj3, &fd3); err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj3, &fd3);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
goto out_2; goto out_2;
......
...@@ -29,7 +29,7 @@ void serial_test_xdp_info(void) ...@@ -29,7 +29,7 @@ void serial_test_xdp_info(void)
/* Setup prog */ /* Setup prog */
err = bpf_prog_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
......
...@@ -9,7 +9,7 @@ void test_xdp_perf(void) ...@@ -9,7 +9,7 @@ void test_xdp_perf(void)
char in[128], out[128]; char in[128], out[128];
int err, prog_fd; int err, prog_fd;
err = bpf_prog_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd); err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
return; return;
......
...@@ -73,7 +73,7 @@ int test_subprog2(struct args_subprog2 *ctx) ...@@ -73,7 +73,7 @@ int test_subprog2(struct args_subprog2 *ctx)
__builtin_preserve_access_index(&skb->len)); __builtin_preserve_access_index(&skb->len));
ret = ctx->ret; ret = ctx->ret;
/* bpf_prog_load() loads "test_pkt_access.o" with BPF_F_TEST_RND_HI32 /* bpf_prog_test_load() loads "test_pkt_access.o" with BPF_F_TEST_RND_HI32
* which randomizes upper 32 bits after BPF_ALU32 insns. * which randomizes upper 32 bits after BPF_ALU32 insns.
* Hence after 'w0 <<= 1' upper bits of $rax are random. * Hence after 'w0 <<= 1' upper bits of $rax are random.
* That is expected and correct. Trim them. * That is expected and correct. Trim them.
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include <bpf/libbpf.h> #include <bpf/libbpf.h>
#include "cgroup_helpers.h" #include "cgroup_helpers.h"
#include "testing_helpers.h"
#include "bpf_rlimit.h" #include "bpf_rlimit.h"
#define DEV_CGROUP_PROG "./dev_cgroup.o" #define DEV_CGROUP_PROG "./dev_cgroup.o"
...@@ -27,7 +28,7 @@ int main(int argc, char **argv) ...@@ -27,7 +28,7 @@ int main(int argc, char **argv)
int prog_fd, cgroup_fd; int prog_fd, cgroup_fd;
__u32 prog_cnt; __u32 prog_cnt;
if (bpf_prog_load(DEV_CGROUP_PROG, BPF_PROG_TYPE_CGROUP_DEVICE, if (bpf_prog_test_load(DEV_CGROUP_PROG, BPF_PROG_TYPE_CGROUP_DEVICE,
&obj, &prog_fd)) { &obj, &prog_fd)) {
printf("Failed to load DEV_CGROUP program\n"); printf("Failed to load DEV_CGROUP program\n");
goto out; goto out;
......
...@@ -45,6 +45,8 @@ ...@@ -45,6 +45,8 @@
#include <bpf/bpf.h> #include <bpf/bpf.h>
#include <bpf/libbpf.h> #include <bpf/libbpf.h>
#include "testing_helpers.h"
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
struct bpf_object *obj; struct bpf_object *obj;
...@@ -58,8 +60,8 @@ int main(int argc, char **argv) ...@@ -58,8 +60,8 @@ int main(int argc, char **argv)
return 2; return 2;
} }
ret = bpf_prog_load("test_lirc_mode2_kern.o", ret = bpf_prog_test_load("test_lirc_mode2_kern.o",
BPF_PROG_TYPE_LIRC_MODE2, &obj, &progfd); BPF_PROG_TYPE_LIRC_MODE2, &obj, &progfd);
if (ret) { if (ret) {
printf("Failed to load bpf program\n"); printf("Failed to load bpf program\n");
return 1; return 1;
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include "bpf_util.h" #include "bpf_util.h"
#include "bpf_rlimit.h" #include "bpf_rlimit.h"
#include "test_maps.h" #include "test_maps.h"
#include "testing_helpers.h"
#ifndef ENOTSUPP #ifndef ENOTSUPP
#define ENOTSUPP 524 #define ENOTSUPP 524
...@@ -830,21 +831,21 @@ static void test_sockmap(unsigned int tasks, void *data) ...@@ -830,21 +831,21 @@ static void test_sockmap(unsigned int tasks, void *data)
} }
/* Load SK_SKB program and Attach */ /* Load SK_SKB program and Attach */
err = bpf_prog_load(SOCKMAP_PARSE_PROG, err = bpf_prog_test_load(SOCKMAP_PARSE_PROG,
BPF_PROG_TYPE_SK_SKB, &obj, &parse_prog); BPF_PROG_TYPE_SK_SKB, &obj, &parse_prog);
if (err) { if (err) {
printf("Failed to load SK_SKB parse prog\n"); printf("Failed to load SK_SKB parse prog\n");
goto out_sockmap; goto out_sockmap;
} }
err = bpf_prog_load(SOCKMAP_TCP_MSG_PROG, err = bpf_prog_test_load(SOCKMAP_TCP_MSG_PROG,
BPF_PROG_TYPE_SK_MSG, &obj, &msg_prog); BPF_PROG_TYPE_SK_MSG, &obj, &msg_prog);
if (err) { if (err) {
printf("Failed to load SK_SKB msg prog\n"); printf("Failed to load SK_SKB msg prog\n");
goto out_sockmap; goto out_sockmap;
} }
err = bpf_prog_load(SOCKMAP_VERDICT_PROG, err = bpf_prog_test_load(SOCKMAP_VERDICT_PROG,
BPF_PROG_TYPE_SK_SKB, &obj, &verdict_prog); BPF_PROG_TYPE_SK_SKB, &obj, &verdict_prog);
if (err) { if (err) {
printf("Failed to load SK_SKB verdict prog\n"); printf("Failed to load SK_SKB verdict prog\n");
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "bpf_rlimit.h" #include "bpf_rlimit.h"
#include "bpf_util.h" #include "bpf_util.h"
#include "cgroup_helpers.h" #include "cgroup_helpers.h"
#include "testing_helpers.h"
#define CG_PATH "/foo" #define CG_PATH "/foo"
#define MAX_INSNS 512 #define MAX_INSNS 512
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include "test_tcpnotify.h" #include "test_tcpnotify.h"
#include "trace_helpers.h" #include "trace_helpers.h"
#include "testing_helpers.h"
#define SOCKET_BUFFER_SIZE (getpagesize() < 8192L ? getpagesize() : 8192L) #define SOCKET_BUFFER_SIZE (getpagesize() < 8192L ? getpagesize() : 8192L)
...@@ -92,7 +93,7 @@ int main(int argc, char **argv) ...@@ -92,7 +93,7 @@ int main(int argc, char **argv)
if (cg_fd < 0) if (cg_fd < 0)
goto err; goto err;
if (bpf_prog_load(file, BPF_PROG_TYPE_SOCK_OPS, &obj, &prog_fd)) { if (bpf_prog_test_load(file, BPF_PROG_TYPE_SOCK_OPS, &obj, &prog_fd)) {
printf("FAILED: load_bpf_file failed for: %s\n", file); printf("FAILED: load_bpf_file failed for: %s\n", file);
goto err; goto err;
} }
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include "bpf/libbpf.h" #include "bpf/libbpf.h"
#include "xdping.h" #include "xdping.h"
#include "testing_helpers.h"
static int ifindex; static int ifindex;
static __u32 xdp_flags = XDP_FLAGS_UPDATE_IF_NOEXIST; static __u32 xdp_flags = XDP_FLAGS_UPDATE_IF_NOEXIST;
...@@ -173,7 +174,7 @@ int main(int argc, char **argv) ...@@ -173,7 +174,7 @@ int main(int argc, char **argv)
snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]); snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
if (bpf_prog_load(filename, BPF_PROG_TYPE_XDP, &obj, &prog_fd)) { if (bpf_prog_test_load(filename, BPF_PROG_TYPE_XDP, &obj, &prog_fd)) {
fprintf(stderr, "load of %s failed\n", filename); fprintf(stderr, "load of %s failed\n", filename);
return 1; return 1;
} }
......
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