BACKPORT: bpf: Use char in prog and map name backups/20240423-1546/lineage-21
authorMartin KaFai Lau <kafai@fb.com>
Fri, 6 Oct 2017 04:52:12 +0000 (21:52 -0700)
committerNolen Johnson <johnsonnolen@gmail.com>
Mon, 25 Mar 2024 17:05:31 +0000 (13:05 -0400)
Instead of u8, use char for prog and map name.  It can avoid the
userspace tool getting compiler's signess warning.  The
bpf_prog_aux, bpf_map, bpf_attr, bpf_prog_info and
bpf_map_info are changed.

Change-Id: I599a8f1eccb0d63aa8d680b771fff1580c69cf75
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Cc: Jakub Kicinski <jakub.kicinski@netronome.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/bpf.h
include/uapi/linux/bpf.h

index 54471accf6979e20f813c3c2149461b923de0f49..f22171d4ca85c6280e782359b6cf311bc6bef5ac 100644 (file)
@@ -69,7 +69,7 @@ struct bpf_map {
        atomic_t refcnt;
        atomic_t usercnt;
        struct work_struct work;
-       u8 name[BPF_OBJ_NAME_LEN];
+       char name[BPF_OBJ_NAME_LEN];
 };
 
 /* function argument constraints */
@@ -204,7 +204,7 @@ struct bpf_prog_aux {
        void *security;
 #endif
        u64 load_time; /* ns since boottime */
-       u8 name[BPF_OBJ_NAME_LEN];
+       char name[BPF_OBJ_NAME_LEN];
        union {
                struct work_struct work;
                struct rcu_head rcu;
index ff5108529961db5728b7657d6e528ca159139704..cd8923951f53738e06a0cf944365f75e2602518b 100644 (file)
@@ -195,7 +195,7 @@ union bpf_attr {
                __u32   numa_node;      /* numa node (effective only if
                                         * BPF_F_NUMA_NODE is set).
                                         */
-               __u8    map_name[BPF_OBJ_NAME_LEN];
+               char    map_name[BPF_OBJ_NAME_LEN];
        };
 
        struct { /* anonymous struct used by BPF_MAP_*_ELEM commands */
@@ -218,7 +218,7 @@ union bpf_attr {
                __aligned_u64   log_buf;        /* user supplied buffer */
                __u32           kern_version;   /* checked when prog_type=kprobe */
                __u32           prog_flags;
-               __u8            prog_name[BPF_OBJ_NAME_LEN];
+               char            prog_name[BPF_OBJ_NAME_LEN];
        };
 
        struct { /* anonymous struct used by BPF_OBJ_* commands */
@@ -815,7 +815,7 @@ struct bpf_prog_info {
        __u32 created_by_uid;
        __u32 nr_map_ids;
        __aligned_u64 map_ids;
-       __u8  name[BPF_OBJ_NAME_LEN];
+       char name[BPF_OBJ_NAME_LEN];
 } __attribute__((aligned(8)));
 
 struct bpf_map_info {
@@ -825,7 +825,7 @@ struct bpf_map_info {
        __u32 value_size;
        __u32 max_entries;
        __u32 map_flags;
-       __u8  name[BPF_OBJ_NAME_LEN];
+       char  name[BPF_OBJ_NAME_LEN];
 } __attribute__((aligned(8)));
 
 /* User bpf_sock_ops struct to access socket values and specify request ops