Re: [PATCH net-next v5 2/3] netdev-genl: Add an XSK attribute to queues

kernel test robot
2025-02-09T10:17:33Z

Hi Joe,

kernel test robot noticed the following build errors:

[auto build test ERROR on 233a2b1480a0bdf6b40d4debf58a07084e9921ff]

url: https://github.com/intel-lab-lkp/linux/commits/Joe-Damato/netlink-Add-nla_put_empty_nest-helper/20250208-121856
base: 233a2b1480a0bdf6b40d4debf58a07084e9921ff
patch link: https://lore.kernel.org/r/20250208041248.111118-3-jdamato%40fastly.com
patch subject: [PATCH net-next v5 2/3] netdev-genl: Add an XSK attribute to queues
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20250209/202502091844.PyraqTPE-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250209/202502091844.PyraqTPE-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/202502091844.PyraqTPE-lkp@intel.com/

All errors (new ones prefixed by >>):

In file included from net/core/netdev-genl.c:3:
In file included from include/linux/netdevice.h:38:
In file included from include/net/net_namespace.h:43:
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:8:
In file included from include/linux/cacheflush.h:5:
In file included from arch/x86/include/asm/cacheflush.h:5:
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 +
| ~~~~~~~~~~~~~~~~~~~~~~
>> net/core/netdev-genl.c:404:12: error: no member named 'pool' in 'struct netdev_rx_queue'
404 | if (rxq->pool)
| ~~~ ^
>> net/core/netdev-genl.c:414:12: error: no member named 'pool' in 'struct netdev_queue'
414 | if (txq->pool)
| ~~~ ^
3 warnings and 2 errors generated.

vim +404 net/core/netdev-genl.c

374
375 static int
376 netdev_nl_queue_fill_one(struct sk_buff *rsp, struct net_device *netdev,
377 u32 q_idx, u32 q_type, const struct genl_info *info)
378 {
379 struct pp_memory_provider_params *params;
380 struct netdev_rx_queue *rxq;
381 struct netdev_queue *txq;
382 void *hdr;
383
384 hdr = genlmsg_iput(rsp, info);
385 if (!hdr)
386 return -EMSGSIZE;
387
388 if (nla_put_u32(rsp, NETDEV_A_QUEUE_ID, q_idx) ||
389 nla_put_u32(rsp, NETDEV_A_QUEUE_TYPE, q_type) ||
390 nla_put_u32(rsp, NETDEV_A_QUEUE_IFINDEX, netdev->ifindex))
391 goto nla_put_failure;
392
393 switch (q_type) {
394 case NETDEV_QUEUE_TYPE_RX:
395 rxq = __netif_get_rx_queue(netdev, q_idx);
396 if (nla_put_napi_id(rsp, rxq->napi))
397 goto nla_put_failure;
398
399 params = &rxq->mp_params;
400 if (params->mp_ops &&
401 params->mp_ops->nl_fill(params->mp_priv, rsp, rxq))
402 goto nla_put_failure;
403
> 404 if (rxq->pool)
405 if (nla_put_empty_nest(rsp, NETDEV_A_QUEUE_XSK))
406 goto nla_put_failure;
407
408 break;
409 case NETDEV_QUEUE_TYPE_TX:
410 txq = netdev_get_tx_queue(netdev, q_idx);
411 if (nla_put_napi_id(rsp, txq->napi))
412 goto nla_put_failure;
413
> 414 if (txq->pool)
415 if (nla_put_empty_nest(rsp, NETDEV_A_QUEUE_XSK))
416 goto nla_put_failure;
417
418 break;
419 }
420
421 genlmsg_end(rsp, hdr);
422
423 return 0;
424
425 nla_put_failure:
426 genlmsg_cancel(rsp, hdr);
427 return -EMSGSIZE;
428 }
429

--
0-DAY CI Kernel Test Service