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: Daniel Borkmann <dan...@iogearbox.net>
Signed-off-by: Martin KaFai Lau <ka...@fb.com>
Acked-by: Yonghong Song <y...@fb.com>
---
 include/linux/bpf.h      |  4 ++--
 include/uapi/linux/bpf.h |  8 ++++----
 kernel/bpf/arraymap.c    |  2 +-
 kernel/bpf/syscall.c     | 18 +++++++++---------
 4 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/include/linux/bpf.h b/include/linux/bpf.h
index f6fe3c719ca8..1795eeee846c 100644
--- a/include/linux/bpf.h
+++ b/include/linux/bpf.h
@@ -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 */
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
index 97446bbe2ca5..c3e502d06bc3 100644
--- a/include/uapi/linux/bpf.h
+++ b/include/uapi/linux/bpf.h
@@ -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 {
diff --git a/kernel/bpf/arraymap.c b/kernel/bpf/arraymap.c
index 0fd8d8f1a398..544e58f5f642 100644
--- a/kernel/bpf/arraymap.c
+++ b/kernel/bpf/arraymap.c
@@ -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();
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
index 2b29ef84ded3..0b4c94551001 100644
--- a/kernel/bpf/syscall.c
+++ b/kernel/bpf/syscall.c
@@ -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)) {
-- 
2.9.5

Reply via email to