lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 1 Dec 2022 10:42:23 +0800
From:   kernel test robot <lkp@...el.com>
To:     Stanislav Fomichev <sdf@...gle.com>, bpf@...r.kernel.org
Cc:     llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
        ast@...nel.org, daniel@...earbox.net, andrii@...nel.org,
        martin.lau@...ux.dev, song@...nel.org, yhs@...com,
        john.fastabend@...il.com, kpsingh@...nel.org, sdf@...gle.com,
        haoluo@...gle.com, jolsa@...nel.org,
        Toke Høiland-Jørgensen <toke@...hat.com>,
        Saeed Mahameed <saeedm@...dia.com>,
        David Ahern <dsahern@...il.com>,
        Jakub Kicinski <kuba@...nel.org>,
        Willem de Bruijn <willemb@...gle.com>,
        Jesper Dangaard Brouer <brouer@...hat.com>,
        Anatoly Burakov <anatoly.burakov@...el.com>,
        Alexander Lobakin <alexandr.lobakin@...el.com>,
        Magnus Karlsson <magnus.karlsson@...il.com>,
        Maryam Tahhan <mtahhan@...hat.com>, xdp-hints@...-project.net,
        netdev@...r.kernel.org
Subject: Re: [PATCH bpf-next v3 10/11] mlx5: Support RX XDP metadata

Hi Stanislav,

I love your patch! Yet something to improve:

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

url:    https://github.com/intel-lab-lkp/linux/commits/Stanislav-Fomichev/xdp-hints-via-kfuncs/20221130-092141
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
patch link:    https://lore.kernel.org/r/20221129193452.3448944-11-sdf%40google.com
patch subject: [PATCH bpf-next v3 10/11] mlx5: Support RX XDP metadata
config: i386-allmodconfig
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/2c58eefabc23df0888018d4ae3947270ed005c46
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Stanislav-Fomichev/xdp-hints-via-kfuncs/20221130-092141
        git checkout 2c58eefabc23df0888018d4ae3947270ed005c46
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/net/ethernet/mellanox/mlx5/core/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

>> drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:1818:8: error: too few arguments to function call, expected 4, have 3
           skb = INDIRECT_CALL_2(rq->wqe.skb_from_cqe,
                 ^
   include/linux/indirect_call_wrapper.h:23:35: note: expanded from macro 'INDIRECT_CALL_2'
                   likely(f == f2) ? f2(__VA_ARGS__) :                     \
                                     ~~            ^
   drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:1574:1: note: 'mlx5e_skb_from_cqe_linear' declared here
   mlx5e_skb_from_cqe_linear(struct mlx5e_rq *rq, struct mlx5e_wqe_frag_info *wi,
   ^
>> drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:1818:8: error: too few arguments to function call, expected 4, have 3
           skb = INDIRECT_CALL_2(rq->wqe.skb_from_cqe,
                 ^
   include/linux/indirect_call_wrapper.h:24:7: note: expanded from macro 'INDIRECT_CALL_2'
                                     INDIRECT_CALL_1(f, f1, __VA_ARGS__);  \
                                     ^                  ~~
   include/linux/indirect_call_wrapper.h:19:35: note: expanded from macro 'INDIRECT_CALL_1'
                   likely(f == f1) ? f1(__VA_ARGS__) : f(__VA_ARGS__);     \
                                     ~~            ^
   drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:1620:1: note: 'mlx5e_skb_from_cqe_nonlinear' declared here
   mlx5e_skb_from_cqe_nonlinear(struct mlx5e_rq *rq, struct mlx5e_wqe_frag_info *wi,
   ^
>> drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:1818:8: error: too few arguments to function call, expected 4, have 3
           skb = INDIRECT_CALL_2(rq->wqe.skb_from_cqe,
                 ^               ~~~~~~~~~~~~~~~~~~~~
   include/linux/indirect_call_wrapper.h:24:7: note: expanded from macro 'INDIRECT_CALL_2'
                                     INDIRECT_CALL_1(f, f1, __VA_ARGS__);  \
                                     ^               ~
   include/linux/indirect_call_wrapper.h:19:52: note: expanded from macro 'INDIRECT_CALL_1'
                   likely(f == f1) ? f1(__VA_ARGS__) : f(__VA_ARGS__);     \
                                                       ~            ^
   drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:1877:8: error: too few arguments to function call, expected 6, have 5
           skb = INDIRECT_CALL_2(rq->mpwqe.skb_from_cqe_mpwrq,
                 ^
   include/linux/indirect_call_wrapper.h:23:35: note: expanded from macro 'INDIRECT_CALL_2'
                   likely(f == f2) ? f2(__VA_ARGS__) :                     \
                                     ~~            ^
   drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:64:1: note: 'mlx5e_skb_from_cqe_mpwrq_linear' declared here
   mlx5e_skb_from_cqe_mpwrq_linear(struct mlx5e_rq *rq, struct mlx5e_mpw_info *wi,
   ^
   drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:1877:8: error: too few arguments to function call, expected 6, have 5
           skb = INDIRECT_CALL_2(rq->mpwqe.skb_from_cqe_mpwrq,
                 ^
   include/linux/indirect_call_wrapper.h:24:7: note: expanded from macro 'INDIRECT_CALL_2'
                                     INDIRECT_CALL_1(f, f1, __VA_ARGS__);  \
                                     ^                  ~~
   include/linux/indirect_call_wrapper.h:19:35: note: expanded from macro 'INDIRECT_CALL_1'
                   likely(f == f1) ? f1(__VA_ARGS__) : f(__VA_ARGS__);     \
                                     ~~            ^
   drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:68:1: note: 'mlx5e_skb_from_cqe_mpwrq_nonlinear' declared here
   mlx5e_skb_from_cqe_mpwrq_nonlinear(struct mlx5e_rq *rq, struct mlx5e_mpw_info *wi,
   ^
   drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:1877:8: error: too few arguments to function call, expected 6, have 5
           skb = INDIRECT_CALL_2(rq->mpwqe.skb_from_cqe_mpwrq,
                 ^               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/indirect_call_wrapper.h:24:7: note: expanded from macro 'INDIRECT_CALL_2'
                                     INDIRECT_CALL_1(f, f1, __VA_ARGS__);  \
                                     ^               ~
   include/linux/indirect_call_wrapper.h:19:52: note: expanded from macro 'INDIRECT_CALL_1'
                   likely(f == f1) ? f1(__VA_ARGS__) : f(__VA_ARGS__);     \
                                                       ~            ^
   drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:2485:8: error: too few arguments to function call, expected 4, have 3
           skb = INDIRECT_CALL_2(rq->wqe.skb_from_cqe,
                 ^
   include/linux/indirect_call_wrapper.h:23:35: note: expanded from macro 'INDIRECT_CALL_2'
                   likely(f == f2) ? f2(__VA_ARGS__) :                     \
                                     ~~            ^
   drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:1574:1: note: 'mlx5e_skb_from_cqe_linear' declared here
   mlx5e_skb_from_cqe_linear(struct mlx5e_rq *rq, struct mlx5e_wqe_frag_info *wi,
   ^
   drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:2485:8: error: too few arguments to function call, expected 4, have 3
           skb = INDIRECT_CALL_2(rq->wqe.skb_from_cqe,
                 ^
   include/linux/indirect_call_wrapper.h:24:7: note: expanded from macro 'INDIRECT_CALL_2'
                                     INDIRECT_CALL_1(f, f1, __VA_ARGS__);  \
                                     ^                  ~~
   include/linux/indirect_call_wrapper.h:19:35: note: expanded from macro 'INDIRECT_CALL_1'
                   likely(f == f1) ? f1(__VA_ARGS__) : f(__VA_ARGS__);     \
                                     ~~            ^
   drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:1620:1: note: 'mlx5e_skb_from_cqe_nonlinear' declared here
   mlx5e_skb_from_cqe_nonlinear(struct mlx5e_rq *rq, struct mlx5e_wqe_frag_info *wi,
   ^
   drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:2485:8: error: too few arguments to function call, expected 4, have 3
           skb = INDIRECT_CALL_2(rq->wqe.skb_from_cqe,
                 ^               ~~~~~~~~~~~~~~~~~~~~
   include/linux/indirect_call_wrapper.h:24:7: note: expanded from macro 'INDIRECT_CALL_2'
                                     INDIRECT_CALL_1(f, f1, __VA_ARGS__);  \
                                     ^               ~
   include/linux/indirect_call_wrapper.h:19:52: note: expanded from macro 'INDIRECT_CALL_1'
                   likely(f == f1) ? f1(__VA_ARGS__) : f(__VA_ARGS__);     \
                                                       ~            ^
   9 errors generated.


vim +1818 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c

e586b3b0baee89 Amir Vadai         2015-05-28  1795  
e80541ecabd57b Saeed Mahameed     2017-06-05  1796  #ifdef CONFIG_MLX5_ESWITCH
5adf4c475aaa03 Tariq Toukan       2020-04-30  1797  static void mlx5e_handle_rx_cqe_rep(struct mlx5e_rq *rq, struct mlx5_cqe64 *cqe)
f5f82476090fd2 Or Gerlitz         2016-09-22  1798  {
f5f82476090fd2 Or Gerlitz         2016-09-22  1799  	struct net_device *netdev = rq->netdev;
f5f82476090fd2 Or Gerlitz         2016-09-22  1800  	struct mlx5e_priv *priv = netdev_priv(netdev);
1d447a39142e0e Saeed Mahameed     2017-04-24  1801  	struct mlx5e_rep_priv *rpriv  = priv->ppriv;
1d447a39142e0e Saeed Mahameed     2017-04-24  1802  	struct mlx5_eswitch_rep *rep = rpriv->rep;
99cbfa93a6122b Tariq Toukan       2018-04-02  1803  	struct mlx5_wq_cyc *wq = &rq->wqe.wq;
accd58833237d4 Tariq Toukan       2017-01-29  1804  	struct mlx5e_wqe_frag_info *wi;
f5f82476090fd2 Or Gerlitz         2016-09-22  1805  	struct sk_buff *skb;
f5f82476090fd2 Or Gerlitz         2016-09-22  1806  	u32 cqe_bcnt;
99cbfa93a6122b Tariq Toukan       2018-04-02  1807  	u16 ci;
f5f82476090fd2 Or Gerlitz         2016-09-22  1808  
99cbfa93a6122b Tariq Toukan       2018-04-02  1809  	ci       = mlx5_wq_cyc_ctr2ix(wq, be16_to_cpu(cqe->wqe_counter));
99cbfa93a6122b Tariq Toukan       2018-04-02  1810  	wi       = get_frag(rq, ci);
f5f82476090fd2 Or Gerlitz         2016-09-22  1811  	cqe_bcnt = be32_to_cpu(cqe->byte_cnt);
f5f82476090fd2 Or Gerlitz         2016-09-22  1812  
0a35ab3e138296 Saeed Mahameed     2019-06-14  1813  	if (unlikely(MLX5E_RX_ERR_CQE(cqe))) {
5dd29f40b25f91 Gal Pressman       2021-12-22  1814  		mlx5e_handle_rx_err_cqe(rq, cqe);
0a35ab3e138296 Saeed Mahameed     2019-06-14  1815  		goto free_wqe;
0a35ab3e138296 Saeed Mahameed     2019-06-14  1816  	}
0a35ab3e138296 Saeed Mahameed     2019-06-14  1817  
2901a5c618dd18 Tariq Toukan       2020-04-30 @1818  	skb = INDIRECT_CALL_2(rq->wqe.skb_from_cqe,
2901a5c618dd18 Tariq Toukan       2020-04-30  1819  			      mlx5e_skb_from_cqe_linear,
2901a5c618dd18 Tariq Toukan       2020-04-30  1820  			      mlx5e_skb_from_cqe_nonlinear,
84a137f051a571 Maxim Mikityanskiy 2022-01-20  1821  			      rq, wi, cqe_bcnt);
accd58833237d4 Tariq Toukan       2017-01-29  1822  	if (!skb) {
069d11465a802a Tariq Toukan       2018-05-02  1823  		/* probably for XDP */
121e89275471dc Tariq Toukan       2017-12-12  1824  		if (__test_and_clear_bit(MLX5E_RQ_FLAG_XDP_XMIT, rq->flags)) {
069d11465a802a Tariq Toukan       2018-05-02  1825  			/* do not return page to cache,
069d11465a802a Tariq Toukan       2018-05-02  1826  			 * it will be returned on XDP_TX completion.
069d11465a802a Tariq Toukan       2018-05-02  1827  			 */
99cbfa93a6122b Tariq Toukan       2018-04-02  1828  			goto wq_cyc_pop;
accd58833237d4 Tariq Toukan       2017-01-29  1829  		}
069d11465a802a Tariq Toukan       2018-05-02  1830  		goto free_wqe;
accd58833237d4 Tariq Toukan       2017-01-29  1831  	}
f5f82476090fd2 Or Gerlitz         2016-09-22  1832  
f5f82476090fd2 Or Gerlitz         2016-09-22  1833  	mlx5e_complete_rx_cqe(rq, cqe, cqe_bcnt, skb);
f5f82476090fd2 Or Gerlitz         2016-09-22  1834  
f5f82476090fd2 Or Gerlitz         2016-09-22  1835  	if (rep->vlan && skb_vlan_tag_present(skb))
f5f82476090fd2 Or Gerlitz         2016-09-22  1836  		skb_vlan_pop(skb);
f5f82476090fd2 Or Gerlitz         2016-09-22  1837  
28e7606fa8f106 Ariel Levkovich    2021-10-26  1838  	mlx5e_rep_tc_receive(cqe, rq, skb);
b8ce90370977db Paul Blakey        2020-02-16  1839  
069d11465a802a Tariq Toukan       2018-05-02  1840  free_wqe:
cb5189d173097a Tariq Toukan       2018-06-12  1841  	mlx5e_free_rx_wqe(rq, wi, true);
99cbfa93a6122b Tariq Toukan       2018-04-02  1842  wq_cyc_pop:
99cbfa93a6122b Tariq Toukan       2018-04-02  1843  	mlx5_wq_cyc_pop(wq);
f5f82476090fd2 Or Gerlitz         2016-09-22  1844  }
dfd9e7500cd4b2 Paul Blakey        2020-02-16  1845  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

View attachment "config" of type "text/plain" (281216 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ