Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9b2cf328 authored by Martin KaFai Lau's avatar Martin KaFai Lau Committed by Daniel Borkmann
Browse files

bpf: btf: Rename btf_key_id and btf_value_id in bpf_map_info



In "struct bpf_map_info", the name "btf_id", "btf_key_id" and "btf_value_id"
could cause confusion because the "id" of "btf_id" means the BPF obj id
given to the BTF object while
"btf_key_id" and "btf_value_id" means the BTF type id within
that BTF object.

To make it clear, btf_key_id and btf_value_id are
renamed to btf_key_type_id and btf_value_type_id.

Suggested-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Signed-off-by: default avatarMartin KaFai Lau <kafai@fb.com>
Acked-by: default avatarYonghong Song <yhs@fb.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
parent aea2f7b8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -69,8 +69,8 @@ struct bpf_map {
	u32 pages;
	u32 id;
	int numa_node;
	u32 btf_key_id;
	u32 btf_value_id;
	u32 btf_key_type_id;
	u32 btf_value_type_id;
	struct btf *btf;
	bool unpriv_array;
	/* 55 bytes hole */
+4 −4
Original line number Diff line number Diff line
@@ -284,8 +284,8 @@ union bpf_attr {
		char	map_name[BPF_OBJ_NAME_LEN];
		__u32	map_ifindex;	/* ifindex of netdev to create on */
		__u32	btf_fd;		/* fd pointing to a BTF type data */
		__u32	btf_key_id;	/* BTF type_id of the key */
		__u32	btf_value_id;	/* BTF type_id of the value */
		__u32	btf_key_type_id;	/* BTF type_id of the key */
		__u32	btf_value_type_id;	/* BTF type_id of the value */
	};

	struct { /* anonymous struct used by BPF_MAP_*_ELEM commands */
@@ -2219,8 +2219,8 @@ struct bpf_map_info {
	__u64 netns_dev;
	__u64 netns_ino;
	__u32 btf_id;
	__u32 btf_key_id;
	__u32 btf_value_id;
	__u32 btf_key_type_id;
	__u32 btf_value_type_id;
} __attribute__((aligned(8)));

struct bpf_btf_info {
+1 −1
Original line number Diff line number Diff line
@@ -352,7 +352,7 @@ static void array_map_seq_show_elem(struct bpf_map *map, void *key,
	}

	seq_printf(m, "%u: ", *(u32 *)key);
	btf_type_seq_show(map->btf, map->btf_value_id, value, m);
	btf_type_seq_show(map->btf, map->btf_value_type_id, value, m);
	seq_puts(m, "\n");

	rcu_read_unlock();
+9 −9
Original line number Diff line number Diff line
@@ -422,7 +422,7 @@ static int bpf_obj_name_cpy(char *dst, const char *src)
	return 0;
}

#define BPF_MAP_CREATE_LAST_FIELD btf_value_id
#define BPF_MAP_CREATE_LAST_FIELD btf_value_type_id
/* called via syscall */
static int map_create(union bpf_attr *attr)
{
@@ -457,10 +457,10 @@ static int map_create(union bpf_attr *attr)
	atomic_set(&map->usercnt, 1);

	if (bpf_map_support_seq_show(map) &&
	    (attr->btf_key_id || attr->btf_value_id)) {
	    (attr->btf_key_type_id || attr->btf_value_type_id)) {
		struct btf *btf;

		if (!attr->btf_key_id || !attr->btf_value_id) {
		if (!attr->btf_key_type_id || !attr->btf_value_type_id) {
			err = -EINVAL;
			goto free_map_nouncharge;
		}
@@ -471,16 +471,16 @@ static int map_create(union bpf_attr *attr)
			goto free_map_nouncharge;
		}

		err = map->ops->map_check_btf(map, btf, attr->btf_key_id,
					      attr->btf_value_id);
		err = map->ops->map_check_btf(map, btf, attr->btf_key_type_id,
					      attr->btf_value_type_id);
		if (err) {
			btf_put(btf);
			goto free_map_nouncharge;
		}

		map->btf = btf;
		map->btf_key_id = attr->btf_key_id;
		map->btf_value_id = attr->btf_value_id;
		map->btf_key_type_id = attr->btf_key_type_id;
		map->btf_value_type_id = attr->btf_value_type_id;
	}

	err = security_bpf_map_alloc(map);
@@ -2013,8 +2013,8 @@ static int bpf_map_get_info_by_fd(struct bpf_map *map,

	if (map->btf) {
		info.btf_id = btf_id(map->btf);
		info.btf_key_id = map->btf_key_id;
		info.btf_value_id = map->btf_value_id;
		info.btf_key_type_id = map->btf_key_type_id;
		info.btf_value_type_id = map->btf_value_type_id;
	}

	if (bpf_map_is_dev_bound(map)) {