Hi Denis,

I love your patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    
https://github.com/0day-ci/linux/commits/Denis-Kirjanov/xen-networking-add-XDP-support-to-xen-netfront/20200622-172512
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 
29a720c1042f469c8fea317cb5e7f496b116e07d
config: i386-debian-10.3 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All error/warnings (new ones prefixed by >>):

   drivers/net/xen-netfront.c: In function 'xennet_xdp_xmit_one':
   drivers/net/xen-netfront.c:581:31: warning: variable 'tx' set but not used 
[-Wunused-but-set-variable]
     581 |  struct xen_netif_tx_request *tx;
         |                               ^~
   drivers/net/xen-netfront.c: In function 'xennet_run_xdp':
>> drivers/net/xen-netfront.c:871:10: error: implicit declaration of function 
>> 'convert_to_xdp_frame'; did you mean 'xdp_convert_zc_to_xdp_frame'? 
>> [-Werror=implicit-function-declaration]
     871 |   xdpf = convert_to_xdp_frame(xdp);
         |          ^~~~~~~~~~~~~~~~~~~~
         |          xdp_convert_zc_to_xdp_frame
>> drivers/net/xen-netfront.c:871:8: warning: assignment to 'struct xdp_frame 
>> *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     871 |   xdpf = convert_to_xdp_frame(xdp);
         |        ^
   drivers/net/xen-netfront.c: In function 'store_rxbuf':
   drivers/net/xen-netfront.c:2424:16: warning: variable 'target' set but not 
used [-Wunused-but-set-variable]
    2424 |  unsigned long target;
         |                ^~~~~~
   cc1: some warnings being treated as errors

vim +871 drivers/net/xen-netfront.c

   851  
   852  static u32 xennet_run_xdp(struct netfront_queue *queue, struct page 
*pdata,
   853                     struct xen_netif_rx_response *rx, struct bpf_prog 
*prog,
   854                     struct xdp_buff *xdp, bool *need_xdp_flush)
   855  {
   856          struct xdp_frame *xdpf;
   857          u32 len = rx->status;
   858          u32 act = XDP_PASS;
   859          int err;
   860  
   861          xdp->data_hard_start = page_address(pdata);
   862          xdp->data = xdp->data_hard_start + XDP_PACKET_HEADROOM;
   863          xdp_set_data_meta_invalid(xdp);
   864          xdp->data_end = xdp->data + len;
   865          xdp->rxq = &queue->xdp_rxq;
   866  
   867          act = bpf_prog_run_xdp(prog, xdp);
   868          switch (act) {
   869          case XDP_TX:
   870                  get_page(pdata);
 > 871                  xdpf = convert_to_xdp_frame(xdp);
   872                  err = xennet_xdp_xmit(queue->info->netdev, 1, &xdpf, 0);
   873                  if (unlikely(err < 0))
   874                          trace_xdp_exception(queue->info->netdev, prog, 
act);
   875                  break;
   876          case XDP_REDIRECT:
   877                  get_page(pdata);
   878                  err = xdp_do_redirect(queue->info->netdev, xdp, prog);
   879                  *need_xdp_flush = true;
   880                  if (unlikely(err))
   881                          trace_xdp_exception(queue->info->netdev, prog, 
act);
   882                  break;
   883          case XDP_PASS:
   884          case XDP_DROP:
   885                  break;
   886  
   887          case XDP_ABORTED:
   888                  trace_xdp_exception(queue->info->netdev, prog, act);
   889                  break;
   890  
   891          default:
   892                  bpf_warn_invalid_xdp_action(act);
   893          }
   894  
   895          return act;
   896  }
   897  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to