All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/infiniband/hw/hns/hns_roce_hw_v2.c:309:9: sparse: sparse: dubious: x & !y
Date: Sun, 11 Sep 2022 07:39:28 +0800	[thread overview]
Message-ID: <202209110736.QVAF6lYe-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 11487 bytes --]

:::::: 
:::::: Manual check reason: "low confidence static check first_new_problem: drivers/infiniband/hw/hns/hns_roce_hw_v2.c:309:9: sparse: sparse: dubious: x & !y"
:::::: 

BCC: lkp(a)intel.com
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Huacai Chen <chenhuacai@loongson.cn>
CC: WANG Xuerui <git@xen0n.name>
CC: Jianmin Lv <lvjianmin@loongson.cn>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   b96fbd602d35739b5cdb49baa02048f2c41fdab1
commit: 57fc7323a8e7c2e7c1d5795ab63cb3ffea3cfdfb LoongArch: Add PCI controller support
date:   4 weeks ago
:::::: branch date: 6 hours ago
:::::: commit date: 4 weeks ago
config: loongarch-randconfig-s031-20220911 (https://download.01.org/0day-ci/archive/20220911/202209110736.QVAF6lYe-lkp(a)intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 12.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-39-gce1a6720-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=57fc7323a8e7c2e7c1d5795ab63cb3ffea3cfdfb
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 57fc7323a8e7c2e7c1d5795ab63cb3ffea3cfdfb
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=loongarch SHELL=/bin/bash drivers/infiniband/hw/hns/ drivers/isdn/hardware/mISDN/

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

sparse warnings: (new ones prefixed by >>)
>> drivers/infiniband/hw/hns/hns_roce_hw_v2.c:309:9: sparse: sparse: dubious: x & !y
   drivers/infiniband/hw/hns/hns_roce_hw_v2.c: note: in included file (through arch/loongarch/include/asm/io.h, arch/loongarch/include/asm/pgtable.h, arch/loongarch/include/asm/uaccess.h, ...):
   include/asm-generic/io.h:307:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned long long [usertype] value @@     got restricted __le64 [usertype] @@
   include/asm-generic/io.h:307:22: sparse:     expected unsigned long long [usertype] value
   include/asm-generic/io.h:307:22: sparse:     got restricted __le64 [usertype]
   drivers/infiniband/hw/hns/hns_roce_hw_v2.c:460:9: sparse: sparse: dubious: x & !y
   drivers/infiniband/hw/hns/hns_roce_hw_v2.c:462:9: sparse: sparse: dubious: x & !y
   include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned long long [usertype] value @@     got restricted __le64 [usertype] @@
   include/asm-generic/io.h:236:22: sparse:     expected unsigned long long [usertype] value
   include/asm-generic/io.h:236:22: sparse:     got restricted __le64 [usertype]
   include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned long long [usertype] value @@     got restricted __le64 [usertype] @@
   include/asm-generic/io.h:236:22: sparse:     expected unsigned long long [usertype] value
   include/asm-generic/io.h:236:22: sparse:     got restricted __le64 [usertype]
   include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned long long [usertype] value @@     got restricted __le64 [usertype] @@
   include/asm-generic/io.h:236:22: sparse:     expected unsigned long long [usertype] value
   include/asm-generic/io.h:236:22: sparse:     got restricted __le64 [usertype]
   include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned long long [usertype] value @@     got restricted __le64 [usertype] @@
   include/asm-generic/io.h:236:22: sparse:     expected unsigned long long [usertype] value
   include/asm-generic/io.h:236:22: sparse:     got restricted __le64 [usertype]
   include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned long long [usertype] value @@     got restricted __le64 [usertype] @@
   include/asm-generic/io.h:236:22: sparse:     expected unsigned long long [usertype] value
   include/asm-generic/io.h:236:22: sparse:     got restricted __le64 [usertype]
   include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned long long [usertype] value @@     got restricted __le64 [usertype] @@
   include/asm-generic/io.h:236:22: sparse:     expected unsigned long long [usertype] value
   include/asm-generic/io.h:236:22: sparse:     got restricted __le64 [usertype]
   include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned long long [usertype] value @@     got restricted __le64 [usertype] @@
   include/asm-generic/io.h:236:22: sparse:     expected unsigned long long [usertype] value
   include/asm-generic/io.h:236:22: sparse:     got restricted __le64 [usertype]
--
   drivers/isdn/hardware/mISDN/hfcmulti.c:452:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] value @@     got restricted __le32 [usertype] @@
   drivers/isdn/hardware/mISDN/hfcmulti.c:452:22: sparse:     expected unsigned int [usertype] value
   drivers/isdn/hardware/mISDN/hfcmulti.c:452:22: sparse:     got restricted __le32 [usertype]
   drivers/isdn/hardware/mISDN/hfcmulti.c:457:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short [usertype] value @@     got restricted __le16 [usertype] @@
   drivers/isdn/hardware/mISDN/hfcmulti.c:457:22: sparse:     expected unsigned short [usertype] value
   drivers/isdn/hardware/mISDN/hfcmulti.c:457:22: sparse:     got restricted __le16 [usertype]
   drivers/isdn/hardware/mISDN/hfcmulti.c:472:24: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] value @@     got restricted __le32 [usertype] @@
   drivers/isdn/hardware/mISDN/hfcmulti.c:472:24: sparse:     expected unsigned int [usertype] value
   drivers/isdn/hardware/mISDN/hfcmulti.c:472:24: sparse:     got restricted __le32 [usertype]
   drivers/isdn/hardware/mISDN/hfcmulti.c:478:24: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short [usertype] value @@     got restricted __le16 [usertype] @@
   drivers/isdn/hardware/mISDN/hfcmulti.c:478:24: sparse:     expected unsigned short [usertype] value
   drivers/isdn/hardware/mISDN/hfcmulti.c:478:24: sparse:     got restricted __le16 [usertype]
   drivers/isdn/hardware/mISDN/hfcmulti.c:496:32: sparse: sparse: cast to restricted __le32
   drivers/isdn/hardware/mISDN/hfcmulti.c:501:32: sparse: sparse: cast to restricted __le16
   drivers/isdn/hardware/mISDN/hfcmulti.c:518:25: sparse: sparse: cast to restricted __le32
   drivers/isdn/hardware/mISDN/hfcmulti.c:524:25: sparse: sparse: cast to restricted __le16
>> drivers/isdn/hardware/mISDN/hfcmulti.c:1092:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/isdn/hardware/mISDN/hfcmulti.c:1092:26: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/isdn/hardware/mISDN/hfcmulti.c:1092:26: sparse:     got void *

vim +309 drivers/infiniband/hw/hns/hns_roce_hw_v2.c

30b707886aeb89 Weihang Li    2020-09-10  294  
30b707886aeb89 Weihang Li    2020-09-10  295  static int set_rwqe_data_seg(struct ib_qp *ibqp, const struct ib_send_wr *wr,
30b707886aeb89 Weihang Li    2020-09-10  296  			     struct hns_roce_v2_rc_send_wqe *rc_sq_wqe,
30b707886aeb89 Weihang Li    2020-09-10  297  			     unsigned int *sge_ind,
30b707886aeb89 Weihang Li    2020-09-10  298  			     unsigned int valid_num_sge)
30b707886aeb89 Weihang Li    2020-09-10  299  {
30b707886aeb89 Weihang Li    2020-09-10  300  	struct hns_roce_v2_wqe_data_seg *dseg =
30b707886aeb89 Weihang Li    2020-09-10  301  		(void *)rc_sq_wqe + sizeof(struct hns_roce_v2_rc_send_wqe);
30b707886aeb89 Weihang Li    2020-09-10  302  	struct hns_roce_qp *qp = to_hr_qp(ibqp);
30b707886aeb89 Weihang Li    2020-09-10  303  	int j = 0;
30b707886aeb89 Weihang Li    2020-09-10  304  	int i;
30b707886aeb89 Weihang Li    2020-09-10  305  
82600b2d3cd574 Wenpeng Liang 2022-05-12  306  	hr_reg_write(rc_sq_wqe, RC_SEND_WQE_MSG_START_SGE_IDX,
30b707886aeb89 Weihang Li    2020-09-10  307  		     (*sge_ind) & (qp->sge.sge_cnt - 1));
30b707886aeb89 Weihang Li    2020-09-10  308  
82600b2d3cd574 Wenpeng Liang 2022-05-12 @309  	hr_reg_write(rc_sq_wqe, RC_SEND_WQE_INLINE,
e13026578b727b Lang Cheng    2021-06-18  310  		     !!(wr->send_flags & IB_SEND_INLINE));
30b707886aeb89 Weihang Li    2020-09-10  311  	if (wr->send_flags & IB_SEND_INLINE)
30b707886aeb89 Weihang Li    2020-09-10  312  		return set_rc_inl(qp, wr, rc_sq_wqe, sge_ind);
30b707886aeb89 Weihang Li    2020-09-10  313  
54d6638765b0ed Xi Wang       2020-04-28  314  	if (valid_num_sge <= HNS_ROCE_SGE_IN_WQE) {
7bdee4158b3778 oulijun       2018-01-10  315  		for (i = 0; i < wr->num_sge; i++) {
7bdee4158b3778 oulijun       2018-01-10  316  			if (likely(wr->sg_list[i].length)) {
7bdee4158b3778 oulijun       2018-01-10  317  				set_data_seg_v2(dseg, wr->sg_list + i);
7bdee4158b3778 oulijun       2018-01-10  318  				dseg++;
7bdee4158b3778 oulijun       2018-01-10  319  			}
7bdee4158b3778 oulijun       2018-01-10  320  		}
7bdee4158b3778 oulijun       2018-01-10  321  	} else {
30b707886aeb89 Weihang Li    2020-09-10  322  		for (i = 0; i < wr->num_sge && j < HNS_ROCE_SGE_IN_WQE; i++) {
7bdee4158b3778 oulijun       2018-01-10  323  			if (likely(wr->sg_list[i].length)) {
7bdee4158b3778 oulijun       2018-01-10  324  				set_data_seg_v2(dseg, wr->sg_list + i);
7bdee4158b3778 oulijun       2018-01-10  325  				dseg++;
468d020e2f0286 Lijun Ou      2020-01-09  326  				j++;
7bdee4158b3778 oulijun       2018-01-10  327  			}
7bdee4158b3778 oulijun       2018-01-10  328  		}
7bdee4158b3778 oulijun       2018-01-10  329  
0fd0175e30e487 Lang Cheng    2020-11-28  330  		set_extend_sge(qp, wr->sg_list + i, sge_ind,
0fd0175e30e487 Lang Cheng    2020-11-28  331  			       valid_num_sge - HNS_ROCE_SGE_IN_WQE);
7bdee4158b3778 oulijun       2018-01-10  332  	}
7bdee4158b3778 oulijun       2018-01-10  333  
82600b2d3cd574 Wenpeng Liang 2022-05-12  334  	hr_reg_write(rc_sq_wqe, RC_SEND_WQE_SGE_NUM, valid_num_sge);
7bdee4158b3778 oulijun       2018-01-10  335  
7bdee4158b3778 oulijun       2018-01-10  336  	return 0;
7bdee4158b3778 oulijun       2018-01-10  337  }
7bdee4158b3778 oulijun       2018-01-10  338  

:::::: The code at line 309 was first introduced by commit
:::::: 82600b2d3cd57428bdb03c66ae67708d3c8f7281 RDMA/hns: Use hr_reg_xxx() instead of remaining roce_set_xxx()

:::::: TO: Wenpeng Liang <liangwenpeng@huawei.com>
:::::: CC: Jason Gunthorpe <jgg@nvidia.com>

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

             reply	other threads:[~2022-09-10 23:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-10 23:39 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-10-29  4:59 drivers/infiniband/hw/hns/hns_roce_hw_v2.c:309:9: sparse: sparse: dubious: x & !y kernel test robot
2022-11-15 23:07 kernel test robot
2022-11-28 14:16 kernel test robot
2023-02-10  4:47 kernel test robot
2023-04-13 12:21 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202209110736.QVAF6lYe-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.