:::::: 
:::::: 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: [email protected]
CC: [email protected]
CC: [email protected]
TO: Huacai Chen <[email protected]>
CC: WANG Xuerui <[email protected]>
CC: Jianmin Lv <[email protected]>

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/[email protected]/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 <[email protected]>

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 <[email protected]>
:::::: CC: Jason Gunthorpe <[email protected]>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to