Hi Arnd,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 
master
head:   b33bc2b878e05c5dd4e20682328c3addb4787ac9
commit: 6d97985072dc270032dc7a08631080bfd6253e82 [391/455] isdn: move capi 
drivers to staging
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-rc1-7-g2b96cd8-dirty
        git checkout 6d97985072dc270032dc7a08631080bfd6253e82
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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


sparse warnings: (new ones prefixed by >>)

>> drivers/staging/isdn/avm/b1.c:163:49: sparse: sparse: incorrect type in 
>> argument 2 (different address spaces) @@    expected void const [noderef] 
>> <asn:1> *from @@    got  const [noderef] <asn:1> *from @@
>> drivers/staging/isdn/avm/b1.c:163:49: sparse:    expected void const 
>> [noderef] <asn:1> *from
>> drivers/staging/isdn/avm/b1.c:163:49: sparse:    got unsigned char 
>> *[assigned] dp
   drivers/staging/isdn/avm/b1.c:179:49: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@    expected void const [noderef] 
<asn:1> *from @@    got  const [noderef] <asn:1> *from @@
   drivers/staging/isdn/avm/b1.c:179:49: sparse:    expected void const 
[noderef] <asn:1> *from
   drivers/staging/isdn/avm/b1.c:179:49: sparse:    got unsigned char 
*[assigned] dp
   drivers/staging/isdn/avm/b1.c:211:49: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@    expected void const [noderef] 
<asn:1> *from @@    got  const [noderef] <asn:1> *from @@
   drivers/staging/isdn/avm/b1.c:211:49: sparse:    expected void const 
[noderef] <asn:1> *from
   drivers/staging/isdn/avm/b1.c:211:49: sparse:    got unsigned char 
*[assigned] dp
   drivers/staging/isdn/avm/b1.c:227:49: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@    expected void const [noderef] 
<asn:1> *from @@    got  const [noderef] <asn:1> *from @@
   drivers/staging/isdn/avm/b1.c:227:49: sparse:    expected void const 
[noderef] <asn:1> *from
   drivers/staging/isdn/avm/b1.c:227:49: sparse:    got unsigned char 
*[assigned] dp
--
>> drivers/staging/isdn/avm/c4.c:206:50: sparse: sparse: incorrect type in 
>> argument 2 (different address spaces) @@    expected void const [noderef] 
>> <asn:1> *from @@    got  const [noderef] <asn:1> *from @@
>> drivers/staging/isdn/avm/c4.c:206:50: sparse:    expected void const 
>> [noderef] <asn:1> *from
>> drivers/staging/isdn/avm/c4.c:206:50: sparse:    got unsigned char 
>> *[assigned] dp
   drivers/staging/isdn/avm/c4.c:223:50: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@    expected void const [noderef] 
<asn:1> *from @@    got  const [noderef] <asn:1> *from @@
   drivers/staging/isdn/avm/c4.c:223:50: sparse:    expected void const 
[noderef] <asn:1> *from
   drivers/staging/isdn/avm/c4.c:223:50: sparse:    got unsigned char 
*[assigned] dp
   drivers/staging/isdn/avm/c4.c:830:49: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@    expected void const [noderef] 
<asn:1> *from @@    got  const [noderef] <asn:1> *from @@
   drivers/staging/isdn/avm/c4.c:830:49: sparse:    expected void const 
[noderef] <asn:1> *from
   drivers/staging/isdn/avm/c4.c:830:49: sparse:    got unsigned char 
*[assigned] dp
   drivers/staging/isdn/avm/c4.c:843:50: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@    expected void const [noderef] 
<asn:1> *from @@    got  const [noderef] <asn:1> *from @@
   drivers/staging/isdn/avm/c4.c:843:50: sparse:    expected void const 
[noderef] <asn:1> *from
   drivers/staging/isdn/avm/c4.c:843:50: sparse:    got unsigned char 
*[assigned] dp
--
>> drivers/staging/isdn/hysdn/boardergo.c:402:21: sparse: sparse: incorrect 
>> type in argument 1 (different address spaces) @@    expected void volatile 
>> [noderef] <asn:2> *addr @@    got oderef] <asn:2> *addr @@
>> drivers/staging/isdn/hysdn/boardergo.c:402:21: sparse:    expected void 
>> volatile [noderef] <asn:2> *addr
>> drivers/staging/isdn/hysdn/boardergo.c:402:21: sparse:    got void 
>> *[usertype] dpram
>> drivers/staging/isdn/hysdn/boardergo.c:422:27: sparse: sparse: incorrect 
>> type in assignment (different address spaces) @@    expected void 
>> *[usertype] dpram @@    got void [nvoid *[usertype] dpram @@
>> drivers/staging/isdn/hysdn/boardergo.c:422:27: sparse:    expected void 
>> *[usertype] dpram
>> drivers/staging/isdn/hysdn/boardergo.c:422:27: sparse:    got void [noderef] 
>> <asn:2> *
--
>> drivers/staging/isdn/hysdn/hysdn_net.c:72:29: sparse: sparse: incorrect type 
>> in assignment (different address spaces) @@    expected struct in_device 
>> *in_dev @@    got struct in_device [struct in_device *in_dev @@
>> drivers/staging/isdn/hysdn/hysdn_net.c:72:29: sparse:    expected struct 
>> in_device *in_dev
>> drivers/staging/isdn/hysdn/hysdn_net.c:72:29: sparse:    got struct 
>> in_device [noderef] <asn:4> *ip_ptr

vim +163 drivers/staging/isdn/avm/b1.c

^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  150  
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  151  #define 
FWBUF_SIZE      256
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  152  int 
b1_load_t4file(avmcard *card, capiloaddatapart *t4file)
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  153  {
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  154          
unsigned char buf[FWBUF_SIZE];
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  155          
unsigned char *dp;
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  156          
int i, left;
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  157          
unsigned int base = card->port;
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  158  
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  159          
dp = t4file->data;
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  160          
left = t4file->len;
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  161          
while (left > FWBUF_SIZE) {
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  162          
        if (t4file->user) {
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16 @163          
                if (copy_from_user(buf, dp, FWBUF_SIZE))
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  164          
                        return -EFAULT;
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  165          
        } else {
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  166          
                memcpy(buf, dp, FWBUF_SIZE);
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  167          
        }
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  168          
        for (i = 0; i < FWBUF_SIZE; i++)
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  169          
                if (b1_save_put_byte(base, buf[i]) < 0) {
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  170          
                        printk(KERN_ERR "%s: corrupted firmware file ?\n",
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  171          
                               card->name);
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  172          
                        return -EIO;
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  173          
                }
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  174          
        left -= FWBUF_SIZE;
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  175          
        dp += FWBUF_SIZE;
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  176          
}
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  177          
if (left) {
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  178          
        if (t4file->user) {
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  179          
                if (copy_from_user(buf, dp, left))
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  180          
                        return -EFAULT;
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  181          
        } else {
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  182          
                memcpy(buf, dp, left);
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  183          
        }
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  184          
        for (i = 0; i < left; i++)
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  185          
                if (b1_save_put_byte(base, buf[i]) < 0) {
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  186          
                        printk(KERN_ERR "%s: corrupted firmware file ?\n",
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  187          
                               card->name);
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  188          
                        return -EIO;
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  189          
                }
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  190          
}
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  191          
return 0;
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  192  }
^1da177e drivers/isdn/hardware/avm/b1.c Linus Torvalds 2005-04-16  193  

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

:::::: TO: Linus Torvalds <torva...@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torva...@ppc970.osdl.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Reply via email to