tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   35e884f89df4c48566d745dc5a97a0d058d04263
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to 
define address spaces
date:   2 weeks ago
config: i386-randconfig-s001-20200705 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-3-gfa153962-dirty
        git checkout 670d0a4b10704667765f7d18f7592993d02783aa
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)

>> drivers/atm/iphase.c:149:16: sparse: sparse: cast removes address space 
>> '__iomem' of expression
   drivers/atm/iphase.c:153:11: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:165:56: sparse: sparse: invalid assignment: |=
   drivers/atm/iphase.c:165:56: sparse:    left side has type restricted __be16
   drivers/atm/iphase.c:165:56: sparse:    right side has type int
   drivers/atm/iphase.c:203:14: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:220:16: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:228:19: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:241:29: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:242:29: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:279:20: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:384:14: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:444:17: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:446:20: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:529:19: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:583:16: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:2976:11: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:3050:23: sparse: sparse: incorrect type in assignment 
(different base types) @@     expected restricted __be16 [usertype] protocol @@ 
    got int vci @@
   drivers/atm/iphase.c:3050:23: sparse:     expected restricted __be16 
[usertype] protocol
   drivers/atm/iphase.c:3050:23: sparse:     got int vci
   drivers/atm/iphase.c:668:17: sparse: sparse: restricted __be16 degrades to 
integer
   drivers/atm/iphase.c:1185:23: sparse: sparse: incorrect type in assignment 
(different base types) @@     expected restricted __be16 [usertype] protocol @@ 
    got int [assigned] desc @@
   drivers/atm/iphase.c:1185:23: sparse:     expected restricted __be16 
[usertype] protocol
   drivers/atm/iphase.c:1185:23: sparse:     got int [assigned] desc
   drivers/atm/iphase.c:1297:12: sparse: sparse: incorrect type in assignment 
(different base types) @@     expected int desc @@     got restricted __be16 
[usertype] protocol @@
   drivers/atm/iphase.c:1297:12: sparse:     expected int desc
   drivers/atm/iphase.c:1297:12: sparse:     got restricted __be16 [usertype] 
protocol
   drivers/atm/iphase.c:1506:24: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:1553:24: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:1565:20: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:1582:25: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:1735:34: sparse: sparse: invalid assignment: |=
   drivers/atm/iphase.c:1735:34: sparse:    left side has type restricted __be16
   drivers/atm/iphase.c:1735:34: sparse:    right side has type int
   drivers/atm/iphase.c:1812:15: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:1813:16: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:1966:24: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:2022:22: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:2049:22: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:2112:9: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:2128:9: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:2129:15: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:2130:16: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:2278:16: sparse: sparse: cast to restricted __le32
   drivers/atm/iphase.c:2278:16: sparse: sparse: cast to restricted __le32
   drivers/atm/iphase.c:2278:16: sparse: sparse: cast to restricted __le32
   drivers/atm/iphase.c:2278:16: sparse: sparse: cast to restricted __le32
   drivers/atm/iphase.c:2278:16: sparse: sparse: cast to restricted __le32
   drivers/atm/iphase.c:2278:16: sparse: sparse: cast to restricted __le32
   drivers/atm/iphase.c:2278:14: sparse: sparse: incorrect type in assignment 
(different base types) @@     expected unsigned int [usertype] mac1 @@     got 
restricted __be32 [usertype] @@
   drivers/atm/iphase.c:2278:14: sparse:     expected unsigned int [usertype] 
mac1
   drivers/atm/iphase.c:2278:14: sparse:     got restricted __be32 [usertype]
   drivers/atm/iphase.c:2280:16: sparse: sparse: cast to restricted __le16
   drivers/atm/iphase.c:2280:16: sparse: sparse: cast to restricted __le16
   drivers/atm/iphase.c:2280:16: sparse: sparse: cast to restricted __le16
   drivers/atm/iphase.c:2280:16: sparse: sparse: cast to restricted __le16
   drivers/atm/iphase.c:2280:14: sparse: sparse: incorrect type in assignment 
(different base types) @@     expected unsigned short [usertype] mac2 @@     
got restricted __be16 [usertype] @@
   drivers/atm/iphase.c:2280:14: sparse:     expected unsigned short [usertype] 
mac2
   drivers/atm/iphase.c:2280:14: sparse:     got restricted __be16 [usertype]
   drivers/atm/iphase.c:2666:24: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:2670:24: sparse: sparse: cast removes address space 
'__iomem' of expression
   drivers/atm/iphase.c:1132:25: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:1137:30: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:1147:29: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:1168:21: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:1168:57: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:1169:21: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:1169:57: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:1395:10: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:1408:18: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:1490:17: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:1491:17: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:2677:15: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:2678:15: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:3006:9: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:3009:9: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:3010:9: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:3020:35: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:3021:51: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:3038:36: sparse: sparse: dereference of noderef 
expression
   drivers/atm/iphase.c:3039:11: sparse: sparse: dereference of noderef 
expression

vim +/__iomem +149 drivers/atm/iphase.c

^1da177e4c3f41 Linus Torvalds 2005-04-16  142  
^1da177e4c3f41 Linus Torvalds 2005-04-16  143    u_short                desc1;
^1da177e4c3f41 Linus Torvalds 2005-04-16  144    u_short                tcq_wr;
^1da177e4c3f41 Linus Torvalds 2005-04-16  145    struct ia_vcc         *iavcc_r 
= NULL; 
^1da177e4c3f41 Linus Torvalds 2005-04-16  146  
^1da177e4c3f41 Linus Torvalds 2005-04-16  147    tcq_wr = 
readl(dev->seg_reg+TCQ_WR_PTR) & 0xffff;
^1da177e4c3f41 Linus Torvalds 2005-04-16  148    while (dev->host_tcq_wr != 
tcq_wr) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 @149       desc1 = *(u_short 
*)(dev->seg_ram + dev->host_tcq_wr);
^1da177e4c3f41 Linus Torvalds 2005-04-16  150       if (!desc1) ;
^1da177e4c3f41 Linus Torvalds 2005-04-16  151       else if 
(!dev->desc_tbl[desc1 -1].timestamp) {
^1da177e4c3f41 Linus Torvalds 2005-04-16  152          IF_ABR(printk(" Desc %d 
is reset at %ld\n", desc1 -1, jiffies);)
^1da177e4c3f41 Linus Torvalds 2005-04-16  153          *(u_short *) 
(dev->seg_ram + dev->host_tcq_wr) = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16  154       }                           
      
^1da177e4c3f41 Linus Torvalds 2005-04-16  155       else if 
(dev->desc_tbl[desc1 -1].timestamp) {
^1da177e4c3f41 Linus Torvalds 2005-04-16  156          if (!(iavcc_r = 
dev->desc_tbl[desc1 -1].iavcc)) { 
^1da177e4c3f41 Linus Torvalds 2005-04-16  157             printk("IA: Fatal err 
in get_desc\n");
^1da177e4c3f41 Linus Torvalds 2005-04-16  158             continue;
^1da177e4c3f41 Linus Torvalds 2005-04-16  159          }
^1da177e4c3f41 Linus Torvalds 2005-04-16  160          iavcc_r->vc_desc_cnt--;
^1da177e4c3f41 Linus Torvalds 2005-04-16  161          dev->desc_tbl[desc1 
-1].timestamp = 0;
849e8caa477d72 David Howells  2008-07-30  162          
IF_EVENT(printk("ia_hack: return_q skb = 0x%p desc = %d\n",
849e8caa477d72 David Howells  2008-07-30  163                                   
  dev->desc_tbl[desc1 -1].txskb, desc1);)
^1da177e4c3f41 Linus Torvalds 2005-04-16  164          if (iavcc_r->pcr < 
dev->rate_limit) {
^1da177e4c3f41 Linus Torvalds 2005-04-16  165             IA_SKB_STATE 
(dev->desc_tbl[desc1-1].txskb) |= IA_TX_DONE;
^1da177e4c3f41 Linus Torvalds 2005-04-16  166             if 
(ia_enque_rtn_q(&dev->tx_return_q, dev->desc_tbl[desc1 -1]) < 0)
^1da177e4c3f41 Linus Torvalds 2005-04-16  167                
printk("ia_hack_tcq: No memory available\n");
^1da177e4c3f41 Linus Torvalds 2005-04-16  168          } 
^1da177e4c3f41 Linus Torvalds 2005-04-16  169          dev->desc_tbl[desc1 
-1].iavcc = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16  170          dev->desc_tbl[desc1 
-1].txskb = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16  171       }
^1da177e4c3f41 Linus Torvalds 2005-04-16  172       dev->host_tcq_wr += 2;
^1da177e4c3f41 Linus Torvalds 2005-04-16  173       if (dev->host_tcq_wr > 
dev->ffL.tcq_ed) 
^1da177e4c3f41 Linus Torvalds 2005-04-16  174          dev->host_tcq_wr = 
dev->ffL.tcq_st;
^1da177e4c3f41 Linus Torvalds 2005-04-16  175    }
^1da177e4c3f41 Linus Torvalds 2005-04-16  176  } /* ia_hack_tcq */
^1da177e4c3f41 Linus Torvalds 2005-04-16  177  

:::::: The code at line 149 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <[email protected]>
:::::: CC: Linus Torvalds <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

Reply via email to