selftests/bpf: Stop using bpf_object__find_program_by_title API.
authorKui-Feng Lee <kuifeng@fb.com>
Tue, 14 Dec 2021 03:59:28 +0000 (19:59 -0800)
committerAndrii Nakryiko <andrii@kernel.org>
Tue, 14 Dec 2021 22:38:05 +0000 (14:38 -0800)
bpf_object__find_program_by_title is going to be deprecated.  Replace
all use cases in tools/testing/selftests/bpf with
bpf_object__find_program_by_name or bpf_object__for_each_program.

Signed-off-by: Kui-Feng Lee <kuifeng@fb.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20211214035931.1148209-2-kuifeng@fb.com
tools/testing/selftests/bpf/prog_tests/bpf_obj_id.c
tools/testing/selftests/bpf/prog_tests/connect_force_port.c
tools/testing/selftests/bpf/prog_tests/core_reloc.c
tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c
tools/testing/selftests/bpf/prog_tests/get_stack_raw_tp.c
tools/testing/selftests/bpf/prog_tests/sockopt_inherit.c
tools/testing/selftests/bpf/prog_tests/stacktrace_map.c
tools/testing/selftests/bpf/prog_tests/stacktrace_map_raw_tp.c
tools/testing/selftests/bpf/prog_tests/test_overhead.c
tools/testing/selftests/bpf/prog_tests/trampoline_count.c

index 0a6c5f00abd40b8c2a34fc810e91c78b95e92612..dbe56fa8582d6782f90f8334897bb1a84779939c 100644 (file)
@@ -65,8 +65,8 @@ void serial_test_bpf_obj_id(void)
                if (CHECK_FAIL(err))
                        goto done;
 
-               prog = bpf_object__find_program_by_title(objs[i],
-                                                        "raw_tp/sys_enter");
+               prog = bpf_object__find_program_by_name(objs[i],
+                                                       "test_obj_id");
                if (CHECK_FAIL(!prog))
                        goto done;
                links[i] = bpf_program__attach(prog);
index ca574e1e30e6453c362b928b01db68e91711c87f..9c4325f4aef29ea056ca1308e1e7638e5161c90f 100644 (file)
@@ -67,9 +67,9 @@ static int run_test(int cgroup_fd, int server_fd, int family, int type)
                goto close_bpf_object;
        }
 
-       prog = bpf_object__find_program_by_title(obj, v4 ?
-                                                "cgroup/connect4" :
-                                                "cgroup/connect6");
+       prog = bpf_object__find_program_by_name(obj, v4 ?
+                                               "connect4" :
+                                               "connect6");
        if (CHECK(!prog, "find_prog", "connect prog not found\n")) {
                err = -EIO;
                goto close_bpf_object;
@@ -83,9 +83,9 @@ static int run_test(int cgroup_fd, int server_fd, int family, int type)
                goto close_bpf_object;
        }
 
-       prog = bpf_object__find_program_by_title(obj, v4 ?
-                                                "cgroup/getpeername4" :
-                                                "cgroup/getpeername6");
+       prog = bpf_object__find_program_by_name(obj, v4 ?
+                                               "getpeername4" :
+                                               "getpeername6");
        if (CHECK(!prog, "find_prog", "getpeername prog not found\n")) {
                err = -EIO;
                goto close_bpf_object;
@@ -99,9 +99,9 @@ static int run_test(int cgroup_fd, int server_fd, int family, int type)
                goto close_bpf_object;
        }
 
-       prog = bpf_object__find_program_by_title(obj, v4 ?
-                                                "cgroup/getsockname4" :
-                                                "cgroup/getsockname6");
+       prog = bpf_object__find_program_by_name(obj, v4 ?
+                                               "getsockname4" :
+                                               "getsockname6");
        if (CHECK(!prog, "find_prog", "getsockname prog not found\n")) {
                err = -EIO;
                goto close_bpf_object;
index 44a9868c70ea08a69877890ea033d48c98bb69b1..b8bdd1c3efcaa54628a165599f0e82bdbfd35d21 100644 (file)
@@ -10,7 +10,7 @@ static int duration = 0;
 
 #define STRUCT_TO_CHAR_PTR(struct_name) (const char *)&(struct struct_name)
 
-#define MODULES_CASE(name, sec_name, tp_name) {                                \
+#define MODULES_CASE(name, pg_name, tp_name) {                         \
        .case_name = name,                                              \
        .bpf_obj_file = "test_core_reloc_module.o",                     \
        .btf_src_file = NULL, /* find in kernel module BTFs */          \
@@ -28,7 +28,7 @@ static int duration = 0;
                .comm_len = sizeof("test_progs"),                       \
        },                                                              \
        .output_len = sizeof(struct core_reloc_module_output),          \
-       .prog_sec_name = sec_name,                                      \
+       .prog_name = pg_name,                                           \
        .raw_tp_name = tp_name,                                         \
        .trigger = __trigger_module_test_read,                          \
        .needs_testmod = true,                                          \
@@ -43,7 +43,9 @@ static int duration = 0;
 #define FLAVORS_CASE_COMMON(name)                                      \
        .case_name = #name,                                             \
        .bpf_obj_file = "test_core_reloc_flavors.o",                    \
-       .btf_src_file = "btf__core_reloc_" #name ".o"                   \
+       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_flavors"                                \
 
 #define FLAVORS_CASE(name) {                                           \
        FLAVORS_CASE_COMMON(name),                                      \
@@ -66,7 +68,9 @@ static int duration = 0;
 #define NESTING_CASE_COMMON(name)                                      \
        .case_name = #name,                                             \
        .bpf_obj_file = "test_core_reloc_nesting.o",                    \
-       .btf_src_file = "btf__core_reloc_" #name ".o"
+       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_nesting"                                \
 
 #define NESTING_CASE(name) {                                           \
        NESTING_CASE_COMMON(name),                                      \
@@ -91,7 +95,9 @@ static int duration = 0;
 #define ARRAYS_CASE_COMMON(name)                                       \
        .case_name = #name,                                             \
        .bpf_obj_file = "test_core_reloc_arrays.o",                     \
-       .btf_src_file = "btf__core_reloc_" #name ".o"
+       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_arrays"                                 \
 
 #define ARRAYS_CASE(name) {                                            \
        ARRAYS_CASE_COMMON(name),                                       \
@@ -123,7 +129,9 @@ static int duration = 0;
 #define PRIMITIVES_CASE_COMMON(name)                                   \
        .case_name = #name,                                             \
        .bpf_obj_file = "test_core_reloc_primitives.o",                 \
-       .btf_src_file = "btf__core_reloc_" #name ".o"
+       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_primitives"                             \
 
 #define PRIMITIVES_CASE(name) {                                                \
        PRIMITIVES_CASE_COMMON(name),                                   \
@@ -158,6 +166,8 @@ static int duration = 0;
                .e = 5, .f = 6, .g = 7, .h = 8,                         \
        },                                                              \
        .output_len = sizeof(struct core_reloc_mods_output),            \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_mods",                                  \
 }
 
 #define PTR_AS_ARR_CASE(name) {                                                \
@@ -174,6 +184,8 @@ static int duration = 0;
                .a = 3,                                                 \
        },                                                              \
        .output_len = sizeof(struct core_reloc_ptr_as_arr),             \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_ptr_as_arr",                            \
 }
 
 #define INTS_DATA(struct_name) STRUCT_TO_CHAR_PTR(struct_name) {       \
@@ -190,7 +202,9 @@ static int duration = 0;
 #define INTS_CASE_COMMON(name)                                         \
        .case_name = #name,                                             \
        .bpf_obj_file = "test_core_reloc_ints.o",                       \
-       .btf_src_file = "btf__core_reloc_" #name ".o"
+       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_ints"
 
 #define INTS_CASE(name) {                                              \
        INTS_CASE_COMMON(name),                                         \
@@ -208,7 +222,9 @@ static int duration = 0;
 #define FIELD_EXISTS_CASE_COMMON(name)                                 \
        .case_name = #name,                                             \
        .bpf_obj_file = "test_core_reloc_existence.o",                  \
-       .btf_src_file = "btf__core_reloc_" #name ".o"                   \
+       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_existence"
 
 #define BITFIELDS_CASE_COMMON(objfile, test_name_prefix,  name)                \
        .case_name = test_name_prefix#name,                             \
@@ -223,6 +239,8 @@ static int duration = 0;
        .output = STRUCT_TO_CHAR_PTR(core_reloc_bitfields_output)       \
                __VA_ARGS__,                                            \
        .output_len = sizeof(struct core_reloc_bitfields_output),       \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_bitfields",                             \
 }, {                                                                   \
        BITFIELDS_CASE_COMMON("test_core_reloc_bitfields_direct.o",     \
                              "direct:", name),                         \
@@ -231,7 +249,7 @@ static int duration = 0;
        .output = STRUCT_TO_CHAR_PTR(core_reloc_bitfields_output)       \
                __VA_ARGS__,                                            \
        .output_len = sizeof(struct core_reloc_bitfields_output),       \
-       .prog_sec_name = "tp_btf/sys_enter",                            \
+       .prog_name = "test_core_bitfields_direct",                      \
 }
 
 
@@ -239,17 +257,21 @@ static int duration = 0;
        BITFIELDS_CASE_COMMON("test_core_reloc_bitfields_probed.o",     \
                              "probed:", name),                         \
        .fails = true,                                                  \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_bitfields",                             \
 }, {                                                                   \
        BITFIELDS_CASE_COMMON("test_core_reloc_bitfields_direct.o",     \
                              "direct:", name),                         \
-       .prog_sec_name = "tp_btf/sys_enter",                            \
        .fails = true,                                                  \
+       .prog_name = "test_core_bitfields_direct",                      \
 }
 
 #define SIZE_CASE_COMMON(name)                                         \
        .case_name = #name,                                             \
        .bpf_obj_file = "test_core_reloc_size.o",                       \
-       .btf_src_file = "btf__core_reloc_" #name ".o"
+       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_size"
 
 #define SIZE_OUTPUT_DATA(type)                                         \
        STRUCT_TO_CHAR_PTR(core_reloc_size_output) {                    \
@@ -277,8 +299,10 @@ static int duration = 0;
 
 #define TYPE_BASED_CASE_COMMON(name)                                   \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_type_based.o",         \
-       .btf_src_file = "btf__core_reloc_" #name ".o"                   \
+       .bpf_obj_file = "test_core_reloc_type_based.o",                 \
+       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_type_based"
 
 #define TYPE_BASED_CASE(name, ...) {                                   \
        TYPE_BASED_CASE_COMMON(name),                                   \
@@ -295,7 +319,9 @@ static int duration = 0;
 #define TYPE_ID_CASE_COMMON(name)                                      \
        .case_name = #name,                                             \
        .bpf_obj_file = "test_core_reloc_type_id.o",                    \
-       .btf_src_file = "btf__core_reloc_" #name ".o"                   \
+       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_type_id"
 
 #define TYPE_ID_CASE(name, setup_fn) {                                 \
        TYPE_ID_CASE_COMMON(name),                                      \
@@ -312,7 +338,9 @@ static int duration = 0;
 #define ENUMVAL_CASE_COMMON(name)                                      \
        .case_name = #name,                                             \
        .bpf_obj_file = "test_core_reloc_enumval.o",                    \
-       .btf_src_file = "btf__core_reloc_" #name ".o"                   \
+       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .raw_tp_name = "sys_enter",                                     \
+       .prog_name = "test_core_enumval"
 
 #define ENUMVAL_CASE(name, ...) {                                      \
        ENUMVAL_CASE_COMMON(name),                                      \
@@ -342,7 +370,7 @@ struct core_reloc_test_case {
        bool fails;
        bool needs_testmod;
        bool relaxed_core_relocs;
-       const char *prog_sec_name;
+       const char *prog_name;
        const char *raw_tp_name;
        setup_test_fn setup;
        trigger_test_fn trigger;
@@ -497,11 +525,13 @@ static struct core_reloc_test_case test_cases[] = {
                        .comm_len = sizeof("test_progs"),
                },
                .output_len = sizeof(struct core_reloc_kernel_output),
+               .raw_tp_name = "sys_enter",
+               .prog_name = "test_core_kernel",
        },
 
        /* validate we can find kernel module BTF types for relocs/attach */
-       MODULES_CASE("module_probed", "raw_tp/bpf_testmod_test_read", "bpf_testmod_test_read"),
-       MODULES_CASE("module_direct", "tp_btf/bpf_testmod_test_read", NULL),
+       MODULES_CASE("module_probed", "test_core_module_probed", "bpf_testmod_test_read"),
+       MODULES_CASE("module_direct", "test_core_module_direct", NULL),
 
        /* validate BPF program can use multiple flavors to match against
         * single target BTF type
@@ -580,6 +610,8 @@ static struct core_reloc_test_case test_cases[] = {
                        .c = 0, /* BUG in clang, should be 3 */
                },
                .output_len = sizeof(struct core_reloc_misc_output),
+               .raw_tp_name = "sys_enter",
+               .prog_name = "test_core_misc",
        },
 
        /* validate field existence checks */
@@ -848,14 +880,9 @@ void test_core_reloc(void)
                if (!ASSERT_OK_PTR(obj, "obj_open"))
                        goto cleanup;
 
-               probe_name = "raw_tracepoint/sys_enter";
-               tp_name = "sys_enter";
-               if (test_case->prog_sec_name) {
-                       probe_name = test_case->prog_sec_name;
-                       tp_name = test_case->raw_tp_name; /* NULL for tp_btf */
-               }
-
-               prog = bpf_object__find_program_by_title(obj, probe_name);
+               probe_name = test_case->prog_name;
+               tp_name = test_case->raw_tp_name; /* NULL for tp_btf */
+               prog = bpf_object__find_program_by_name(obj, probe_name);
                if (CHECK(!prog, "find_probe",
                          "prog '%s' not found\n", probe_name))
                        goto cleanup;
index fdd603ebda28de10ca8747fdfb22663836f3db26..c52f99f6a9096e607c39f3298f24a3e87293e40f 100644 (file)
@@ -101,6 +101,8 @@ static void test_fexit_bpf2bpf_common(const char *obj_file,
 
        for (i = 0; i < prog_cnt; i++) {
                struct bpf_link_info link_info;
+               struct bpf_program *pos;
+               const char *pos_sec_name;
                char *tgt_name;
                __s32 btf_id;
 
@@ -109,7 +111,14 @@ static void test_fexit_bpf2bpf_common(const char *obj_file,
                        goto close_prog;
                btf_id = btf__find_by_name_kind(btf, tgt_name + 1, BTF_KIND_FUNC);
 
-               prog[i] = bpf_object__find_program_by_title(obj, prog_name[i]);
+               prog[i] = NULL;
+               bpf_object__for_each_program(pos, obj) {
+                       pos_sec_name = bpf_program__section_name(pos);
+                       if (pos_sec_name && !strcmp(pos_sec_name, prog_name[i])) {
+                               prog[i] = pos;
+                               break;
+                       }
+               }
                if (!ASSERT_OK_PTR(prog[i], prog_name[i]))
                        goto close_prog;
 
@@ -211,8 +220,8 @@ static void test_func_replace_verify(void)
 
 static int test_second_attach(struct bpf_object *obj)
 {
-       const char *prog_name = "freplace/get_constant";
-       const char *tgt_name = prog_name + 9; /* cut off freplace/ */
+       const char *prog_name = "security_new_get_constant";
+       const char *tgt_name = "get_constant";
        const char *tgt_obj_file = "./test_pkt_access.o";
        struct bpf_program *prog = NULL;
        struct bpf_object *tgt_obj;
@@ -220,7 +229,7 @@ static int test_second_attach(struct bpf_object *obj)
        struct bpf_link *link;
        int err = 0, tgt_fd;
 
-       prog = bpf_object__find_program_by_title(obj, prog_name);
+       prog = bpf_object__find_program_by_name(obj, prog_name);
        if (CHECK(!prog, "find_prog", "prog %s not found\n", prog_name))
                return -ENOENT;
 
index 977ab433a946ba83c52e2abd9b4ae17a68d98c87..e834a01de16acceb20e38ec437e9bc563ab1fc8d 100644 (file)
@@ -89,7 +89,7 @@ void test_get_stack_raw_tp(void)
 {
        const char *file = "./test_get_stack_rawtp.o";
        const char *file_err = "./test_get_stack_rawtp_err.o";
-       const char *prog_name = "raw_tracepoint/sys_enter";
+       const char *prog_name = "bpf_prog1";
        int i, err, prog_fd, exp_cnt = MAX_CNT_RAWTP;
        struct perf_buffer *pb = NULL;
        struct bpf_link *link = NULL;
@@ -107,7 +107,7 @@ void test_get_stack_raw_tp(void)
        if (CHECK(err, "prog_load raw tp", "err %d errno %d\n", err, errno))
                return;
 
-       prog = bpf_object__find_program_by_title(obj, prog_name);
+       prog = bpf_object__find_program_by_name(obj, prog_name);
        if (CHECK(!prog, "find_probe", "prog '%s' not found\n", prog_name))
                goto close_prog;
 
index 6a953f4adfdc1b7837939a19b78cee7b6e5dafc0..8ed78a9383ba31f1ec75c9f9ef51efe42bbbe4c2 100644 (file)
@@ -136,7 +136,8 @@ static int start_server(void)
        return fd;
 }
 
-static int prog_attach(struct bpf_object *obj, int cgroup_fd, const char *title)
+static int prog_attach(struct bpf_object *obj, int cgroup_fd, const char *title,
+                      const char *prog_name)
 {
        enum bpf_attach_type attach_type;
        enum bpf_prog_type prog_type;
@@ -145,20 +146,20 @@ static int prog_attach(struct bpf_object *obj, int cgroup_fd, const char *title)
 
        err = libbpf_prog_type_by_name(title, &prog_type, &attach_type);
        if (err) {
-               log_err("Failed to deduct types for %s BPF program", title);
+               log_err("Failed to deduct types for %s BPF program", prog_name);
                return -1;
        }
 
-       prog = bpf_object__find_program_by_title(obj, title);
+       prog = bpf_object__find_program_by_name(obj, prog_name);
        if (!prog) {
-               log_err("Failed to find %s BPF program", title);
+               log_err("Failed to find %s BPF program", prog_name);
                return -1;
        }
 
        err = bpf_prog_attach(bpf_program__fd(prog), cgroup_fd,
                              attach_type, 0);
        if (err) {
-               log_err("Failed to attach %s BPF program", title);
+               log_err("Failed to attach %s BPF program", prog_name);
                return -1;
        }
 
@@ -181,11 +182,11 @@ static void run_test(int cgroup_fd)
        if (!ASSERT_OK(err, "obj_load"))
                goto close_bpf_object;
 
-       err = prog_attach(obj, cgroup_fd, "cgroup/getsockopt");
+       err = prog_attach(obj, cgroup_fd, "cgroup/getsockopt", "_getsockopt");
        if (CHECK_FAIL(err))
                goto close_bpf_object;
 
-       err = prog_attach(obj, cgroup_fd, "cgroup/setsockopt");
+       err = prog_attach(obj, cgroup_fd, "cgroup/setsockopt", "_setsockopt");
        if (CHECK_FAIL(err))
                goto close_bpf_object;
 
index 337493d74ec554741fb59c2ad75b4425dd0d03f2..313f0a66232efc5d54e27e6bd7e03c84476811cb 100644 (file)
@@ -4,7 +4,7 @@
 void test_stacktrace_map(void)
 {
        int control_map_fd, stackid_hmap_fd, stackmap_fd, stack_amap_fd;
-       const char *prog_name = "tracepoint/sched/sched_switch";
+       const char *prog_name = "oncpu";
        int err, prog_fd, stack_trace_len;
        const char *file = "./test_stacktrace_map.o";
        __u32 key, val, duration = 0;
@@ -16,7 +16,7 @@ void test_stacktrace_map(void)
        if (CHECK(err, "prog_load", "err %d errno %d\n", err, errno))
                return;
 
-       prog = bpf_object__find_program_by_title(obj, prog_name);
+       prog = bpf_object__find_program_by_name(obj, prog_name);
        if (CHECK(!prog, "find_prog", "prog '%s' not found\n", prog_name))
                goto close_prog;
 
index 063a14a2060dc941ff2390c79738d982f5819662..1cb8dd36bd8f12fbc22d81aa3055aeb82e799d33 100644 (file)
@@ -3,7 +3,7 @@
 
 void test_stacktrace_map_raw_tp(void)
 {
-       const char *prog_name = "tracepoint/sched/sched_switch";
+       const char *prog_name = "oncpu";
        int control_map_fd, stackid_hmap_fd, stackmap_fd;
        const char *file = "./test_stacktrace_map.o";
        __u32 key, val, duration = 0;
@@ -16,7 +16,7 @@ void test_stacktrace_map_raw_tp(void)
        if (CHECK(err, "prog_load raw tp", "err %d errno %d\n", err, errno))
                return;
 
-       prog = bpf_object__find_program_by_title(obj, prog_name);
+       prog = bpf_object__find_program_by_name(obj, prog_name);
        if (CHECK(!prog, "find_prog", "prog '%s' not found\n", prog_name))
                goto close_prog;
 
index 123c68c1917d20b0d39c73b79f228a7e0bbed9e0..05acb376f74d8909f420459d19474745c0e3d61c 100644 (file)
@@ -56,11 +56,11 @@ static void setaffinity(void)
 
 void test_test_overhead(void)
 {
-       const char *kprobe_name = "kprobe/__set_task_comm";
-       const char *kretprobe_name = "kretprobe/__set_task_comm";
-       const char *raw_tp_name = "raw_tp/task_rename";
-       const char *fentry_name = "fentry/__set_task_comm";
-       const char *fexit_name = "fexit/__set_task_comm";
+       const char *kprobe_name = "prog1";
+       const char *kretprobe_name = "prog2";
+       const char *raw_tp_name = "prog3";
+       const char *fentry_name = "prog4";
+       const char *fexit_name = "prog5";
        const char *kprobe_func = "__set_task_comm";
        struct bpf_program *kprobe_prog, *kretprobe_prog, *raw_tp_prog;
        struct bpf_program *fentry_prog, *fexit_prog;
@@ -76,23 +76,23 @@ void test_test_overhead(void)
        if (!ASSERT_OK_PTR(obj, "obj_open_file"))
                return;
 
-       kprobe_prog = bpf_object__find_program_by_title(obj, kprobe_name);
+       kprobe_prog = bpf_object__find_program_by_name(obj, kprobe_name);
        if (CHECK(!kprobe_prog, "find_probe",
                  "prog '%s' not found\n", kprobe_name))
                goto cleanup;
-       kretprobe_prog = bpf_object__find_program_by_title(obj, kretprobe_name);
+       kretprobe_prog = bpf_object__find_program_by_name(obj, kretprobe_name);
        if (CHECK(!kretprobe_prog, "find_probe",
                  "prog '%s' not found\n", kretprobe_name))
                goto cleanup;
-       raw_tp_prog = bpf_object__find_program_by_title(obj, raw_tp_name);
+       raw_tp_prog = bpf_object__find_program_by_name(obj, raw_tp_name);
        if (CHECK(!raw_tp_prog, "find_probe",
                  "prog '%s' not found\n", raw_tp_name))
                goto cleanup;
-       fentry_prog = bpf_object__find_program_by_title(obj, fentry_name);
+       fentry_prog = bpf_object__find_program_by_name(obj, fentry_name);
        if (CHECK(!fentry_prog, "find_probe",
                  "prog '%s' not found\n", fentry_name))
                goto cleanup;
-       fexit_prog = bpf_object__find_program_by_title(obj, fexit_name);
+       fexit_prog = bpf_object__find_program_by_name(obj, fexit_name);
        if (CHECK(!fexit_prog, "find_probe",
                  "prog '%s' not found\n", fexit_name))
                goto cleanup;
index fc146671b20a3a514a06d7d2b041fb66fd9e281c..9c795ee52b7bf87a0d10210f0e23de6e27c02ab1 100644 (file)
@@ -35,7 +35,7 @@ static struct bpf_link *load(struct bpf_object *obj, const char *name)
        struct bpf_program *prog;
        int duration = 0;
 
-       prog = bpf_object__find_program_by_title(obj, name);
+       prog = bpf_object__find_program_by_name(obj, name);
        if (CHECK(!prog, "find_probe", "prog '%s' not found\n", name))
                return ERR_PTR(-EINVAL);
        return bpf_program__attach_trace(prog);
@@ -44,8 +44,8 @@ static struct bpf_link *load(struct bpf_object *obj, const char *name)
 /* TODO: use different target function to run in concurrent mode */
 void serial_test_trampoline_count(void)
 {
-       const char *fentry_name = "fentry/__set_task_comm";
-       const char *fexit_name = "fexit/__set_task_comm";
+       const char *fentry_name = "prog1";
+       const char *fexit_name = "prog2";
        const char *object = "test_trampoline_count.o";
        struct inst inst[MAX_TRAMP_PROGS] = {};
        int err, i = 0, duration = 0;