Hi Antonio,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 40587f749df216889163dd6e02d88ad53e759e66]

url:    
https://github.com/intel-lab-lkp/linux/commits/Antonio-Quartulli/net-introduce-OpenVPN-Data-Channel-Offload-ovpn/20250311-202334
base:   40587f749df216889163dd6e02d88ad53e759e66
patch link:    
https://lore.kernel.org/r/20250311-b4-ovpn-v22-18-2b7b02155412%40openvpn.net
patch subject: [PATCH net-next v22 18/23] ovpn: implement peer 
add/get/dump/delete via netlink
config: s390-allmodconfig 
(https://download.01.org/0day-ci/archive/20250313/202503130050.cimomcyw-...@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project 
cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20250313/202503130050.cimomcyw-...@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 <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202503130050.cimomcyw-...@intel.com/

All warnings (new ones prefixed by >>):

   In file included from drivers/net/ovpn/peer.c:10:
   In file included from include/linux/skbuff.h:17:
   In file included from include/linux/bvec.h:10:
   In file included from include/linux/highmem.h:10:
   In file included from include/linux/mm.h:2224:
   include/linux/vmstat.h:504:43: warning: arithmetic between different 
enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') 
[-Wenum-enum-conversion]
     504 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     505 |                            item];
         |                            ~~~~
   include/linux/vmstat.h:511:43: warning: arithmetic between different 
enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') 
[-Wenum-enum-conversion]
     511 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     512 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   include/linux/vmstat.h:524:43: warning: arithmetic between different 
enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') 
[-Wenum-enum-conversion]
     524 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     525 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ovpn/peer.c:152:6: warning: variable 'ip_len' is used 
>> uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
     152 |         if (local_ip) {
         |             ^~~~~~~~
   drivers/net/ovpn/peer.c:166:33: note: uninitialized use occurs here
     166 |         memcpy(&bind->local, local_ip, ip_len);
         |                                        ^~~~~~
   include/linux/fortify-string.h:690:53: note: expanded from macro 'memcpy'
     690 | #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,               
   \
         |                                                     ^
   include/linux/fortify-string.h:627:41: note: expanded from macro 
'__fortify_memcpy_chk'
     627 |         const size_t __fortify_size = (size_t)(size);                
   \
         |                                                ^~~~
   drivers/net/ovpn/peer.c:152:2: note: remove the 'if' if its condition is 
always true
     152 |         if (local_ip) {
         |         ^~~~~~~~~~~~~
   drivers/net/ovpn/peer.c:143:15: note: initialize the variable 'ip_len' to 
silence this warning
     143 |         size_t ip_len;
         |                      ^
         |                       = 0
   4 warnings generated.


vim +152 drivers/net/ovpn/peer.c

   129  
   130  /**
   131   * ovpn_peer_reset_sockaddr - recreate binding for peer
   132   * @peer: peer to recreate the binding for
   133   * @ss: sockaddr to use as remote endpoint for the binding
   134   * @local_ip: local IP for the binding
   135   *
   136   * Return: 0 on success or a negative error code otherwise
   137   */
   138  int ovpn_peer_reset_sockaddr(struct ovpn_peer *peer,
   139                               const struct sockaddr_storage *ss,
   140                               const void *local_ip)
   141  {
   142          struct ovpn_bind *bind;
   143          size_t ip_len;
   144  
   145          lockdep_assert_held(&peer->lock);
   146  
   147          /* create new ovpn_bind object */
   148          bind = ovpn_bind_from_sockaddr(ss);
   149          if (IS_ERR(bind))
   150                  return PTR_ERR(bind);
   151  
 > 152          if (local_ip) {
   153                  if (ss->ss_family == AF_INET) {
   154                          ip_len = sizeof(struct in_addr);
   155                  } else if (ss->ss_family == AF_INET6) {
   156                          ip_len = sizeof(struct in6_addr);
   157                  } else {
   158                          net_dbg_ratelimited("%s: invalid family %u for 
remote endpoint for peer %u\n",
   159                                              
netdev_name(peer->ovpn->dev),
   160                                              ss->ss_family, peer->id);
   161                          kfree(bind);
   162                          return -EINVAL;
   163                  }
   164          }
   165  
   166          memcpy(&bind->local, local_ip, ip_len);
   167  
   168          /* set binding */
   169          ovpn_bind_reset(peer, bind);
   170  
   171          return 0;
   172  }
   173  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to