Commit 8d6fabf1 authored by Christy Lee's avatar Christy Lee Committed by Andrii Nakryiko
Browse files

selftests/bpf: Stop using bpf_map__def() API



libbpf bpf_map__def() API is being deprecated, replace selftests/bpf's
usage with the appropriate getters and setters.

Signed-off-by: default avatarChristy Lee <christylee@fb.com>
Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220108004218.355761-5-christylee@fb.com
parent 924b1cd6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -457,7 +457,7 @@ static int init_prog_array(struct bpf_object *obj, struct bpf_map *prog_array)
	if (map_fd < 0)
		return -1;

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		snprintf(prog_name, sizeof(prog_name), "flow_dissector_%d", i);

		prog = bpf_object__find_program_by_name(obj, prog_name);
+1 −1
Original line number Diff line number Diff line
@@ -121,7 +121,7 @@ static void test_global_data_rdonly(struct bpf_object *obj, __u32 duration)
	if (CHECK_FAIL(map_fd < 0))
		return;

	buff = malloc(bpf_map__def(map)->value_size);
	buff = malloc(bpf_map__value_size(map));
	if (buff)
		err = bpf_map_update_elem(map_fd, &zero, buff, 0);
	free(buff);
+1 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ void test_global_data_init(void)
	if (CHECK_FAIL(!map || !bpf_map__is_internal(map)))
		goto out;

	sz = bpf_map__def(map)->value_size;
	sz = bpf_map__value_size(map);
	newval = malloc(sz);
	if (CHECK_FAIL(!newval))
		goto out;
+5 −7
Original line number Diff line number Diff line
@@ -1413,14 +1413,12 @@ static void test_reuseport_mixed_groups(int family, int sotype, int sock_map,

static void test_ops_cleanup(const struct bpf_map *map)
{
	const struct bpf_map_def *def;
	int err, mapfd;
	u32 key;

	def = bpf_map__def(map);
	mapfd = bpf_map__fd(map);

	for (key = 0; key < def->max_entries; key++) {
	for (key = 0; key < bpf_map__max_entries(map); key++) {
		err = bpf_map_delete_elem(mapfd, &key);
		if (err && errno != EINVAL && errno != ENOENT)
			FAIL_ERRNO("map_delete: expected EINVAL/ENOENT");
@@ -1443,13 +1441,13 @@ static const char *family_str(sa_family_t family)

static const char *map_type_str(const struct bpf_map *map)
{
	const struct bpf_map_def *def;
	int type;

	def = bpf_map__def(map);
	if (IS_ERR(def))
	if (!map)
		return "invalid";
	type = bpf_map__type(map);

	switch (def->type) {
	switch (type) {
	case BPF_MAP_TYPE_SOCKMAP:
		return "sockmap";
	case BPF_MAP_TYPE_SOCKHASH:
+18 −18
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ static void test_tailcall_1(void)
	if (CHECK_FAIL(map_fd < 0))
		goto out;

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);

		prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -53,7 +53,7 @@ static void test_tailcall_1(void)
			goto out;
	}

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		err = bpf_prog_test_run(main_fd, 1, buff, sizeof(buff), 0,
					&duration, &retval, NULL);
		CHECK(err || retval != i, "tailcall",
@@ -69,7 +69,7 @@ static void test_tailcall_1(void)
	CHECK(err || retval != 3, "tailcall", "err %d errno %d retval %d\n",
	      err, errno, retval);

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);

		prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -90,8 +90,8 @@ static void test_tailcall_1(void)
	CHECK(err || retval != 0, "tailcall", "err %d errno %d retval %d\n",
	      err, errno, retval);

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
		j = bpf_map__def(prog_array)->max_entries - 1 - i;
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		j = bpf_map__max_entries(prog_array) - 1 - i;
		snprintf(prog_name, sizeof(prog_name), "classifier_%d", j);

		prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -107,8 +107,8 @@ static void test_tailcall_1(void)
			goto out;
	}

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
		j = bpf_map__def(prog_array)->max_entries - 1 - i;
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		j = bpf_map__max_entries(prog_array) - 1 - i;

		err = bpf_prog_test_run(main_fd, 1, buff, sizeof(buff), 0,
					&duration, &retval, NULL);
@@ -125,7 +125,7 @@ static void test_tailcall_1(void)
	CHECK(err || retval != 3, "tailcall", "err %d errno %d retval %d\n",
	      err, errno, retval);

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		err = bpf_map_delete_elem(map_fd, &i);
		if (CHECK_FAIL(err >= 0 || errno != ENOENT))
			goto out;
@@ -175,7 +175,7 @@ static void test_tailcall_2(void)
	if (CHECK_FAIL(map_fd < 0))
		goto out;

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);

		prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -353,7 +353,7 @@ static void test_tailcall_4(void)
	if (CHECK_FAIL(map_fd < 0))
		return;

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);

		prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -369,7 +369,7 @@ static void test_tailcall_4(void)
			goto out;
	}

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		err = bpf_map_update_elem(data_fd, &zero, &i, BPF_ANY);
		if (CHECK_FAIL(err))
			goto out;
@@ -380,7 +380,7 @@ static void test_tailcall_4(void)
		      "err %d errno %d retval %d\n", err, errno, retval);
	}

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		err = bpf_map_update_elem(data_fd, &zero, &i, BPF_ANY);
		if (CHECK_FAIL(err))
			goto out;
@@ -441,7 +441,7 @@ static void test_tailcall_5(void)
	if (CHECK_FAIL(map_fd < 0))
		return;

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);

		prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -457,7 +457,7 @@ static void test_tailcall_5(void)
			goto out;
	}

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		err = bpf_map_update_elem(data_fd, &zero, &key[i], BPF_ANY);
		if (CHECK_FAIL(err))
			goto out;
@@ -468,7 +468,7 @@ static void test_tailcall_5(void)
		      "err %d errno %d retval %d\n", err, errno, retval);
	}

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		err = bpf_map_update_elem(data_fd, &zero, &key[i], BPF_ANY);
		if (CHECK_FAIL(err))
			goto out;
@@ -520,7 +520,7 @@ static void test_tailcall_bpf2bpf_1(void)
		goto out;

	/* nop -> jmp */
	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);

		prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -681,7 +681,7 @@ static void test_tailcall_bpf2bpf_3(void)
	if (CHECK_FAIL(map_fd < 0))
		goto out;

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);

		prog = bpf_object__find_program_by_name(obj, prog_name);
@@ -778,7 +778,7 @@ static void test_tailcall_bpf2bpf_4(bool noise)
	if (CHECK_FAIL(map_fd < 0))
		goto out;

	for (i = 0; i < bpf_map__def(prog_array)->max_entries; i++) {
	for (i = 0; i < bpf_map__max_entries(prog_array); i++) {
		snprintf(prog_name, sizeof(prog_name), "classifier_%d", i);

		prog = bpf_object__find_program_by_name(obj, prog_name);