Hi Philo, kernel test robot noticed the following build warnings: [auto build test WARNING on bpf-next/master] url: https://github.com/intel-lab-lkp/linux/commits/Philo-Lu/bpf-implement-relay-map-basis/20231222-204545 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master patch link: https://lore.kernel.org/r/20231222122146.65519-2-lulie%40linux.alibaba.com patch subject: [PATCH bpf-next 1/3] bpf: implement relay map basis config: x86_64-kexec (https://download.01.org/0day-ci/archive/20231223/202312230850.NQeIZXj6-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231223/202312230850.NQeIZXj6-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202312230850.NQeIZXj6-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): kernel/bpf/relaymap.c: In function 'relay_map_alloc': >> kernel/bpf/relaymap.c:79:13: warning: the comparison will always evaluate as 'true' for the address of 'map_name' will never be NULL [-Waddress] 79 | if (!attr->map_name || strlen(attr->map_name) == 0) | ^ In file included from include/linux/bpf.h:7, from include/linux/filter.h:9, from kernel/bpf/relaymap.c:3: include/uapi/linux/bpf.h:1394:25: note: 'map_name' declared here 1394 | char map_name[BPF_OBJ_NAME_LEN]; | ^~~~~~~~ vim +79 kernel/bpf/relaymap.c 43 44 /* bpf_attr is used as follows: 45 * - key size: must be 0 46 * - value size: value will be used as directory name by map_update_elem 47 * (to create relay files). If passed as 0, it will be set to NAME_MAX as 48 * default 49 * 50 * - max_entries: subbuf size 51 * - map_extra: subbuf num, default as 8 52 * 53 * When alloc, we do not set up relay files considering dir_name conflicts. 54 * Instead we use relay_late_setup_files() in map_update_elem(), and thus the 55 * value is used as dir_name, and map->name is used as base_filename. 56 */ 57 static struct bpf_map *relay_map_alloc(union bpf_attr *attr) 58 { 59 struct bpf_relay_map *rmap; 60 61 if (unlikely(attr->map_flags & ~RELAY_CREATE_FLAG_MASK)) 62 return ERR_PTR(-EINVAL); 63 64 /* key size must be 0 in relay map */ 65 if (unlikely(attr->key_size)) 66 return ERR_PTR(-EINVAL); 67 68 if (unlikely(attr->value_size > NAME_MAX)) { 69 pr_warn("value_size should be no more than %d\n", NAME_MAX); 70 return ERR_PTR(-EINVAL); 71 } else if (attr->value_size == 0) 72 attr->value_size = NAME_MAX; 73 74 /* set default subbuf num */ 75 attr->map_extra = attr->map_extra & UINT_MAX; 76 if (!attr->map_extra) 77 attr->map_extra = 8; 78 > 79 if (!attr->map_name || strlen(attr->map_name) == 0) 80 return ERR_PTR(-EINVAL); 81 82 rmap = bpf_map_area_alloc(sizeof(*rmap), NUMA_NO_NODE); 83 if (!rmap) 84 return ERR_PTR(-ENOMEM); 85 86 bpf_map_init_from_attr(&rmap->map, attr); 87 88 rmap->relay_cb.create_buf_file = create_buf_file_handler; 89 rmap->relay_cb.remove_buf_file = remove_buf_file_handler; 90 if (attr->map_flags & BPF_F_OVERWRITE) 91 rmap->relay_cb.subbuf_start = subbuf_start_overwrite; 92 93 rmap->relay_chan = relay_open(NULL, NULL, 94 attr->max_entries, attr->map_extra, 95 &rmap->relay_cb, NULL); 96 if (!rmap->relay_chan) 97 return ERR_PTR(-EINVAL); 98 99 return &rmap->map; 100 } 101 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki