[gustavoars:testing/wfamnae-next20250124 17/17] kernel/bpf/core.c:2510:29: warning: comparison of distinct pointer types lacks a cast

kernel test robot
2025-01-27T10:02:45Z

tree: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git testing/wfamnae-next20250124
head: 9fcf89847632bd963953b2f945fb3ce2277f1f97
commit: 54447c8c7cc239e559f3b58a7a70d9b776ed9b03 [17/17] treewide_some: fix multiple -Wfamnae warnings that must be audited separately
config: arm-randconfig-001-20250127 (https://download.01.org/0day-ci/archive/20250127/202501271741.8GtpDMsG-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250127/202501271741.8GtpDMsG-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501271741.8GtpDMsG-lkp@intel.com/

All warnings (new ones prefixed by >>):

In file included from include/net/scm.h:13,
from include/linux/netlink.h:9,
from include/uapi/linux/neighbour.h:6,
from include/linux/netdevice.h:44,
from include/linux/if_vlan.h:10,
from include/linux/filter.h:21,
from kernel/bpf/core.c:21:
include/net/compat.h:33:33: error: field 'rt_dst' has incomplete type
33 | struct sockaddr_legacy rt_dst; /* target address */
| ^~~~~~
include/net/compat.h:34:33: error: field 'rt_gateway' has incomplete type
34 | struct sockaddr_legacy rt_gateway; /* gateway addr (RTF_GATEWAY) */
| ^~~~~~~~~~
include/net/compat.h:35:33: error: field 'rt_genmask' has incomplete type
35 | struct sockaddr_legacy rt_genmask; /* target network mask (IP) */
| ^~~~~~~~~~
kernel/bpf/core.c: In function 'bpf_prog_array_free_sleepable':
>> kernel/bpf/core.c:2510:29: warning: comparison of distinct pointer types lacks a cast [-Wcompare-distinct-pointer-types]
2510 | if (!progs || progs == &bpf_empty_prog_array.hdr)
| ^~

vim +2510 kernel/bpf/core.c

8c7dcb84e3b744 Delyan Kratunov 2022-06-14 2507
8c7dcb84e3b744 Delyan Kratunov 2022-06-14 2508 void bpf_prog_array_free_sleepable(struct bpf_prog_array *progs)
8c7dcb84e3b744 Delyan Kratunov 2022-06-14 2509 {
8c7dcb84e3b744 Delyan Kratunov 2022-06-14 @2510 if (!progs || progs == &bpf_empty_prog_array.hdr)
8c7dcb84e3b744 Delyan Kratunov 2022-06-14 2511 return;
8c7dcb84e3b744 Delyan Kratunov 2022-06-14 2512 call_rcu_tasks_trace(&progs->rcu, __bpf_prog_array_free_sleepable_cb);
8c7dcb84e3b744 Delyan Kratunov 2022-06-14 2513 }
8c7dcb84e3b744 Delyan Kratunov 2022-06-14 2514

:::::: The code at line 2510 was first introduced by commit
:::::: 8c7dcb84e3b744b2b70baa7a44a9b1881c33a9c9 bpf: implement sleepable uprobes by chaining gps

:::::: TO: Delyan Kratunov <delyank@fb.com>
:::::: CC: Alexei Starovoitov <ast@kernel.org>

--
0-DAY CI Kernel Test Service