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]
Message-ID: <202008282258.KRQtHEsi%lkp@intel.com>
Date:   Fri, 28 Aug 2020 22:21:42 +0800
From:   kernel test robot <lkp@...el.com>
To:     Luc Van Oostenryck <luc.vanoostenryck@...il.com>,
        Miguel Ojeda <miguel.ojeda.sandonis@...il.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        Luc Van Oostenryck <luc.vanoostenryck@...il.com>
Subject: Re: [PATCH] sparse: use static inline for __chk_{user,io}_ptr()

Hi Luc,

I love your patch! Perhaps something to improve:

[auto build test WARNING on 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5]

url:    https://github.com/0day-ci/linux/commits/Luc-Van-Oostenryck/sparse-use-static-inline-for-__chk_-user-io-_ptr/20200828-165431
base:    9123e3a74ec7b934a4a099e98af6a61c2f80bbf5
config: x86_64-randconfig-s022-20200828 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-191-g10164920-dirty
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

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


sparse warnings: (new ones prefixed by >>)

   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user *ptr @@     got unsigned int [usertype] * @@
>> drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse:     expected void const volatile [noderef] __user *ptr
   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/radeon/radeon_ttm.c:969:21: sparse: sparse: cast removes address space '__user' of expression
--
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:828:42: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2389:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2389:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2389:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2389:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2389:21: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2389:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user *ptr @@     got unsigned int [usertype] * @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2389:21: sparse:     expected void const volatile [noderef] __user *ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2389:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2389:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2389:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2389:21: sparse: sparse: cast removes address space '__user' of expression
--
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user *ptr @@     got unsigned int [usertype] * @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse:     expected void const volatile [noderef] __user *ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:384:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user *ptr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse:     expected void const volatile [noderef] __user *ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:399:21: sparse: sparse: cast removes address space '__user' of expression
--
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:138:17: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __poll_t ( *poll )( ... ) @@     got unsigned int ( * )( ... ) @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:138:17: sparse:     expected restricted __poll_t ( *poll )( ... )
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:138:17: sparse:     got unsigned int ( * )( ... )
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user *ptr @@     got unsigned int [usertype] * @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse:     expected void const volatile [noderef] __user *ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:261:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:263:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:263:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:263:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:263:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:263:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:263:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user *ptr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:263:29: sparse:     expected void const volatile [noderef] __user *ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:263:29: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:263:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:263:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:263:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user *ptr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse:     expected void const volatile [noderef] __user *ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:354:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:412:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:412:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:412:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:412:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:412:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:412:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user *ptr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:412:21: sparse:     expected void const volatile [noderef] __user *ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:412:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:412:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:412:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:412:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user *ptr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse:     expected void const volatile [noderef] __user *ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:473:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:531:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:531:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:531:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:531:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:531:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:531:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user *ptr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:531:21: sparse:     expected void const volatile [noderef] __user *ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:531:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:531:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:531:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:531:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user *ptr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse:     expected void const volatile [noderef] __user *ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:592:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:650:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:650:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:650:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:650:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:650:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:650:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user *ptr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:650:21: sparse:     expected void const volatile [noderef] __user *ptr
--
   arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __user *ptr @@     got unsigned long long [usertype] * @@
>> arch/x86/ia32/ia32_signal.c:350:9: sparse:     expected void const volatile [noderef] __user *ptr
   arch/x86/ia32/ia32_signal.c:350:9: sparse:     got unsigned long long [usertype] *
   arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '__user' of expression
   arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '__user' of expression

# https://github.com/0day-ci/linux/commit/7d01c91ac34a64f0177bc6d058cc50e805f59102
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Luc-Van-Oostenryck/sparse-use-static-inline-for-__chk_-user-io-_ptr/20200828-165431
git checkout 7d01c91ac34a64f0177bc6d058cc50e805f59102
vim +969 drivers/gpu/drm/radeon/radeon_ttm.c

771fe6b912fca5 Jerome Glisse         2009-06-05  772  
771fe6b912fca5 Jerome Glisse         2009-06-05 @773  int radeon_ttm_init(struct radeon_device *rdev)
771fe6b912fca5 Jerome Glisse         2009-06-05  774  {
771fe6b912fca5 Jerome Glisse         2009-06-05  775  	int r;
771fe6b912fca5 Jerome Glisse         2009-06-05  776  
771fe6b912fca5 Jerome Glisse         2009-06-05  777  	/* No others user of address space so set it to 0 */
771fe6b912fca5 Jerome Glisse         2009-06-05  778  	r = ttm_bo_device_init(&rdev->mman.bdev,
44d847b7439bde David Herrmann        2013-08-13  779  			       &radeon_bo_driver,
44d847b7439bde David Herrmann        2013-08-13  780  			       rdev->ddev->anon_inode->i_mapping,
8b53e1cb2728b6 Gerd Hoffmann         2019-09-05  781  			       rdev->ddev->vma_offset_manager,
33b3ad3788aba8 Christoph Hellwig     2019-08-15  782  			       dma_addressing_limited(&rdev->pdev->dev));
771fe6b912fca5 Jerome Glisse         2009-06-05  783  	if (r) {
771fe6b912fca5 Jerome Glisse         2009-06-05  784  		DRM_ERROR("failed initializing buffer object driver(%d).\n", r);
771fe6b912fca5 Jerome Glisse         2009-06-05  785  		return r;
771fe6b912fca5 Jerome Glisse         2009-06-05  786  	}
0a0c7596c64323 Jerome Glisse         2009-12-11  787  	rdev->mman.initialized = true;
4c7886791264f0 Jerome Glisse         2009-11-20  788  	r = ttm_bo_init_mm(&rdev->mman.bdev, TTM_PL_VRAM,
312ea8da049a18 Jerome Glisse         2009-12-07  789  				rdev->mc.real_vram_size >> PAGE_SHIFT);
771fe6b912fca5 Jerome Glisse         2009-06-05  790  	if (r) {
771fe6b912fca5 Jerome Glisse         2009-06-05  791  		DRM_ERROR("Failed initializing VRAM heap.\n");
771fe6b912fca5 Jerome Glisse         2009-06-05  792  		return r;
771fe6b912fca5 Jerome Glisse         2009-06-05  793  	}
14eedc32a3c0ec Lauri Kasanen         2014-02-28  794  	/* Change the size here instead of the init above so only lpfn is affected */
14eedc32a3c0ec Lauri Kasanen         2014-02-28  795  	radeon_ttm_set_active_vram_size(rdev, rdev->mc.visible_vram_size);
14eedc32a3c0ec Lauri Kasanen         2014-02-28  796  
441921d5309cfe Daniel Vetter         2011-02-18  797  	r = radeon_bo_create(rdev, 256 * 1024, PAGE_SIZE, true,
831b6966a60fe7 Maarten Lankhorst     2014-09-18  798  			     RADEON_GEM_DOMAIN_VRAM, 0, NULL,
4aa5b92fd48f88 Kent Russell          2017-08-08  799  			     NULL, &rdev->stolen_vga_memory);
771fe6b912fca5 Jerome Glisse         2009-06-05  800  	if (r) {
771fe6b912fca5 Jerome Glisse         2009-06-05  801  		return r;
771fe6b912fca5 Jerome Glisse         2009-06-05  802  	}
4aa5b92fd48f88 Kent Russell          2017-08-08  803  	r = radeon_bo_reserve(rdev->stolen_vga_memory, false);
4c7886791264f0 Jerome Glisse         2009-11-20  804  	if (r)
4c7886791264f0 Jerome Glisse         2009-11-20  805  		return r;
4aa5b92fd48f88 Kent Russell          2017-08-08  806  	r = radeon_bo_pin(rdev->stolen_vga_memory, RADEON_GEM_DOMAIN_VRAM, NULL);
4aa5b92fd48f88 Kent Russell          2017-08-08  807  	radeon_bo_unreserve(rdev->stolen_vga_memory);
771fe6b912fca5 Jerome Glisse         2009-06-05  808  	if (r) {
4aa5b92fd48f88 Kent Russell          2017-08-08  809  		radeon_bo_unref(&rdev->stolen_vga_memory);
771fe6b912fca5 Jerome Glisse         2009-06-05  810  		return r;
771fe6b912fca5 Jerome Glisse         2009-06-05  811  	}
771fe6b912fca5 Jerome Glisse         2009-06-05  812  	DRM_INFO("radeon: %uM of VRAM memory ready\n",
fc986034540102 Niels Ole Salscheider 2013-05-18  813  		 (unsigned) (rdev->mc.real_vram_size / (1024 * 1024)));
4c7886791264f0 Jerome Glisse         2009-11-20  814  	r = ttm_bo_init_mm(&rdev->mman.bdev, TTM_PL_TT,
312ea8da049a18 Jerome Glisse         2009-12-07  815  				rdev->mc.gtt_size >> PAGE_SHIFT);
771fe6b912fca5 Jerome Glisse         2009-06-05  816  	if (r) {
771fe6b912fca5 Jerome Glisse         2009-06-05  817  		DRM_ERROR("Failed initializing GTT heap.\n");
771fe6b912fca5 Jerome Glisse         2009-06-05  818  		return r;
771fe6b912fca5 Jerome Glisse         2009-06-05  819  	}
771fe6b912fca5 Jerome Glisse         2009-06-05  820  	DRM_INFO("radeon: %uM of GTT memory ready.\n",
3ce0a23d2d2531 Jerome Glisse         2009-09-08  821  		 (unsigned)(rdev->mc.gtt_size / (1024 * 1024)));
fa8a123855e200 Dave Airlie           2009-08-26  822  
fa8a123855e200 Dave Airlie           2009-08-26  823  	r = radeon_ttm_debugfs_init(rdev);
fa8a123855e200 Dave Airlie           2009-08-26  824  	if (r) {
fa8a123855e200 Dave Airlie           2009-08-26  825  		DRM_ERROR("Failed to init debugfs\n");
fa8a123855e200 Dave Airlie           2009-08-26  826  		return r;
fa8a123855e200 Dave Airlie           2009-08-26  827  	}
771fe6b912fca5 Jerome Glisse         2009-06-05  828  	return 0;
771fe6b912fca5 Jerome Glisse         2009-06-05  829  }
771fe6b912fca5 Jerome Glisse         2009-06-05  830  
771fe6b912fca5 Jerome Glisse         2009-06-05  831  void radeon_ttm_fini(struct radeon_device *rdev)
771fe6b912fca5 Jerome Glisse         2009-06-05  832  {
4c7886791264f0 Jerome Glisse         2009-11-20  833  	int r;
4c7886791264f0 Jerome Glisse         2009-11-20  834  
0a0c7596c64323 Jerome Glisse         2009-12-11  835  	if (!rdev->mman.initialized)
0a0c7596c64323 Jerome Glisse         2009-12-11  836  		return;
2014b5694182b5 Christian König       2013-12-18  837  	radeon_ttm_debugfs_fini(rdev);
4aa5b92fd48f88 Kent Russell          2017-08-08  838  	if (rdev->stolen_vga_memory) {
4aa5b92fd48f88 Kent Russell          2017-08-08  839  		r = radeon_bo_reserve(rdev->stolen_vga_memory, false);
4c7886791264f0 Jerome Glisse         2009-11-20  840  		if (r == 0) {
4aa5b92fd48f88 Kent Russell          2017-08-08  841  			radeon_bo_unpin(rdev->stolen_vga_memory);
4aa5b92fd48f88 Kent Russell          2017-08-08  842  			radeon_bo_unreserve(rdev->stolen_vga_memory);
4c7886791264f0 Jerome Glisse         2009-11-20  843  		}
4aa5b92fd48f88 Kent Russell          2017-08-08  844  		radeon_bo_unref(&rdev->stolen_vga_memory);
771fe6b912fca5 Jerome Glisse         2009-06-05  845  	}
771fe6b912fca5 Jerome Glisse         2009-06-05  846  	ttm_bo_clean_mm(&rdev->mman.bdev, TTM_PL_VRAM);
771fe6b912fca5 Jerome Glisse         2009-06-05  847  	ttm_bo_clean_mm(&rdev->mman.bdev, TTM_PL_TT);
771fe6b912fca5 Jerome Glisse         2009-06-05  848  	ttm_bo_device_release(&rdev->mman.bdev);
771fe6b912fca5 Jerome Glisse         2009-06-05  849  	radeon_gart_fini(rdev);
0a0c7596c64323 Jerome Glisse         2009-12-11  850  	rdev->mman.initialized = false;
771fe6b912fca5 Jerome Glisse         2009-06-05  851  	DRM_INFO("radeon: ttm finalized\n");
771fe6b912fca5 Jerome Glisse         2009-06-05  852  }
771fe6b912fca5 Jerome Glisse         2009-06-05  853  
5359533801e3dd Dave Airlie           2011-03-14  854  /* this should only be called at bootup or when userspace
5359533801e3dd Dave Airlie           2011-03-14  855   * isn't running */
5359533801e3dd Dave Airlie           2011-03-14  856  void radeon_ttm_set_active_vram_size(struct radeon_device *rdev, u64 size)
5359533801e3dd Dave Airlie           2011-03-14  857  {
5359533801e3dd Dave Airlie           2011-03-14  858  	struct ttm_mem_type_manager *man;
5359533801e3dd Dave Airlie           2011-03-14  859  
5359533801e3dd Dave Airlie           2011-03-14  860  	if (!rdev->mman.initialized)
5359533801e3dd Dave Airlie           2011-03-14  861  		return;
5359533801e3dd Dave Airlie           2011-03-14  862  
5359533801e3dd Dave Airlie           2011-03-14  863  	man = &rdev->mman.bdev.man[TTM_PL_VRAM];
5359533801e3dd Dave Airlie           2011-03-14  864  	/* this just adjusts TTM size idea, which sets lpfn to the correct value */
5359533801e3dd Dave Airlie           2011-03-14  865  	man->size = size >> PAGE_SHIFT;
5359533801e3dd Dave Airlie           2011-03-14  866  }
5359533801e3dd Dave Airlie           2011-03-14  867  
2bfb0b678e48de Souptick Joarder      2018-04-16  868  static vm_fault_t radeon_ttm_fault(struct vm_fault *vmf)
771fe6b912fca5 Jerome Glisse         2009-06-05  869  {
771fe6b912fca5 Jerome Glisse         2009-06-05  870  	struct ttm_buffer_object *bo;
5876dd249e8e47 Matthew Garrett       2010-04-26  871  	struct radeon_device *rdev;
2bfb0b678e48de Souptick Joarder      2018-04-16  872  	vm_fault_t ret;
771fe6b912fca5 Jerome Glisse         2009-06-05  873  
11bac80004499e Dave Jiang            2017-02-24  874  	bo = (struct ttm_buffer_object *)vmf->vma->vm_private_data;
165d3448a1a0e8 Christian König       2019-09-27  875  	if (bo == NULL)
771fe6b912fca5 Jerome Glisse         2009-06-05  876  		return VM_FAULT_NOPAGE;
165d3448a1a0e8 Christian König       2019-09-27  877  
5876dd249e8e47 Matthew Garrett       2010-04-26  878  	rdev = radeon_get_rdev(bo->bdev);
db7fce3983ad9b Christian König       2012-05-11  879  	down_read(&rdev->pm.mclk_lock);
165d3448a1a0e8 Christian König       2019-09-27  880  	ret = ttm_bo_vm_fault(vmf);
db7fce3983ad9b Christian König       2012-05-11  881  	up_read(&rdev->pm.mclk_lock);
2bfb0b678e48de Souptick Joarder      2018-04-16  882  	return ret;
771fe6b912fca5 Jerome Glisse         2009-06-05  883  }
771fe6b912fca5 Jerome Glisse         2009-06-05  884  
165d3448a1a0e8 Christian König       2019-09-27  885  static struct vm_operations_struct radeon_ttm_vm_ops = {
165d3448a1a0e8 Christian König       2019-09-27  886  	.fault = radeon_ttm_fault,
165d3448a1a0e8 Christian König       2019-09-27  887  	.open = ttm_bo_vm_open,
165d3448a1a0e8 Christian König       2019-09-27  888  	.close = ttm_bo_vm_close,
165d3448a1a0e8 Christian König       2019-09-27  889  	.access = ttm_bo_vm_access
165d3448a1a0e8 Christian König       2019-09-27  890  };
165d3448a1a0e8 Christian König       2019-09-27  891  
771fe6b912fca5 Jerome Glisse         2009-06-05  892  int radeon_mmap(struct file *filp, struct vm_area_struct *vma)
771fe6b912fca5 Jerome Glisse         2009-06-05  893  {
771fe6b912fca5 Jerome Glisse         2009-06-05  894  	int r;
bed2dd84212eb0 Thomas Zimmermann     2019-02-07  895  	struct drm_file *file_priv = filp->private_data;
bed2dd84212eb0 Thomas Zimmermann     2019-02-07  896  	struct radeon_device *rdev = file_priv->minor->dev->dev_private;
771fe6b912fca5 Jerome Glisse         2009-06-05  897  
165d3448a1a0e8 Christian König       2019-09-27  898  	if (rdev == NULL)
771fe6b912fca5 Jerome Glisse         2009-06-05  899  		return -EINVAL;
165d3448a1a0e8 Christian König       2019-09-27  900  
771fe6b912fca5 Jerome Glisse         2009-06-05  901  	r = ttm_bo_mmap(filp, vma, &rdev->mman.bdev);
165d3448a1a0e8 Christian König       2019-09-27  902  	if (unlikely(r != 0))
771fe6b912fca5 Jerome Glisse         2009-06-05  903  		return r;
165d3448a1a0e8 Christian König       2019-09-27  904  
771fe6b912fca5 Jerome Glisse         2009-06-05  905  	vma->vm_ops = &radeon_ttm_vm_ops;
771fe6b912fca5 Jerome Glisse         2009-06-05  906  	return 0;
771fe6b912fca5 Jerome Glisse         2009-06-05  907  }
771fe6b912fca5 Jerome Glisse         2009-06-05  908  
fa8a123855e200 Dave Airlie           2009-08-26  909  #if defined(CONFIG_DEBUG_FS)
893d6e6e122386 Christian König       2013-12-12  910  
fa8a123855e200 Dave Airlie           2009-08-26  911  static int radeon_mm_dump_table(struct seq_file *m, void *data)
fa8a123855e200 Dave Airlie           2009-08-26  912  {
fa8a123855e200 Dave Airlie           2009-08-26  913  	struct drm_info_node *node = (struct drm_info_node *)m->private;
893d6e6e122386 Christian König       2013-12-12  914  	unsigned ttm_pl = *(int*)node->info_ent->data;
fa8a123855e200 Dave Airlie           2009-08-26  915  	struct drm_device *dev = node->minor->dev;
fa8a123855e200 Dave Airlie           2009-08-26  916  	struct radeon_device *rdev = dev->dev_private;
bbbb29efa20d55 Christian König       2017-08-07  917  	struct ttm_mem_type_manager *man = &rdev->mman.bdev.man[ttm_pl];
b5c3714fe87897 Daniel Vetter         2016-12-29  918  	struct drm_printer p = drm_seq_file_printer(m);
fa8a123855e200 Dave Airlie           2009-08-26  919  
bbbb29efa20d55 Christian König       2017-08-07  920  	man->func->debug(man, &p);
b5c3714fe87897 Daniel Vetter         2016-12-29  921  	return 0;
fa8a123855e200 Dave Airlie           2009-08-26  922  }
893d6e6e122386 Christian König       2013-12-12  923  
bbbb29efa20d55 Christian König       2017-08-07  924  
893d6e6e122386 Christian König       2013-12-12  925  static int ttm_pl_vram = TTM_PL_VRAM;
893d6e6e122386 Christian König       2013-12-12  926  static int ttm_pl_tt = TTM_PL_TT;
893d6e6e122386 Christian König       2013-12-12  927  
893d6e6e122386 Christian König       2013-12-12  928  static struct drm_info_list radeon_ttm_debugfs_list[] = {
893d6e6e122386 Christian König       2013-12-12  929  	{"radeon_vram_mm", radeon_mm_dump_table, 0, &ttm_pl_vram},
893d6e6e122386 Christian König       2013-12-12  930  	{"radeon_gtt_mm", radeon_mm_dump_table, 0, &ttm_pl_tt},
893d6e6e122386 Christian König       2013-12-12  931  	{"ttm_page_pool", ttm_page_alloc_debugfs, 0, NULL},
893d6e6e122386 Christian König       2013-12-12  932  #ifdef CONFIG_SWIOTLB
893d6e6e122386 Christian König       2013-12-12  933  	{"ttm_dma_page_pool", ttm_dma_page_alloc_debugfs, 0, NULL}
893d6e6e122386 Christian König       2013-12-12  934  #endif
893d6e6e122386 Christian König       2013-12-12  935  };
893d6e6e122386 Christian König       2013-12-12  936  
2014b5694182b5 Christian König       2013-12-18  937  static int radeon_ttm_vram_open(struct inode *inode, struct file *filep)
2014b5694182b5 Christian König       2013-12-18  938  {
2014b5694182b5 Christian König       2013-12-18  939  	struct radeon_device *rdev = inode->i_private;
2014b5694182b5 Christian König       2013-12-18  940  	i_size_write(inode, rdev->mc.mc_vram_size);
2014b5694182b5 Christian König       2013-12-18  941  	filep->private_data = inode->i_private;
2014b5694182b5 Christian König       2013-12-18  942  	return 0;
2014b5694182b5 Christian König       2013-12-18  943  }
2014b5694182b5 Christian König       2013-12-18  944  
2014b5694182b5 Christian König       2013-12-18  945  static ssize_t radeon_ttm_vram_read(struct file *f, char __user *buf,
2014b5694182b5 Christian König       2013-12-18  946  				    size_t size, loff_t *pos)
2014b5694182b5 Christian König       2013-12-18  947  {
2014b5694182b5 Christian König       2013-12-18  948  	struct radeon_device *rdev = f->private_data;
2014b5694182b5 Christian König       2013-12-18  949  	ssize_t result = 0;
2014b5694182b5 Christian König       2013-12-18  950  	int r;
2014b5694182b5 Christian König       2013-12-18  951  
2014b5694182b5 Christian König       2013-12-18  952  	if (size & 0x3 || *pos & 0x3)
2014b5694182b5 Christian König       2013-12-18  953  		return -EINVAL;
2014b5694182b5 Christian König       2013-12-18  954  
2014b5694182b5 Christian König       2013-12-18  955  	while (size) {
2014b5694182b5 Christian König       2013-12-18  956  		unsigned long flags;
2014b5694182b5 Christian König       2013-12-18  957  		uint32_t value;
2014b5694182b5 Christian König       2013-12-18  958  
2014b5694182b5 Christian König       2013-12-18  959  		if (*pos >= rdev->mc.mc_vram_size)
2014b5694182b5 Christian König       2013-12-18  960  			return result;
2014b5694182b5 Christian König       2013-12-18  961  
2014b5694182b5 Christian König       2013-12-18  962  		spin_lock_irqsave(&rdev->mmio_idx_lock, flags);
2014b5694182b5 Christian König       2013-12-18  963  		WREG32(RADEON_MM_INDEX, ((uint32_t)*pos) | 0x80000000);
2014b5694182b5 Christian König       2013-12-18  964  		if (rdev->family >= CHIP_CEDAR)
2014b5694182b5 Christian König       2013-12-18  965  			WREG32(EVERGREEN_MM_INDEX_HI, *pos >> 31);
2014b5694182b5 Christian König       2013-12-18  966  		value = RREG32(RADEON_MM_DATA);
2014b5694182b5 Christian König       2013-12-18  967  		spin_unlock_irqrestore(&rdev->mmio_idx_lock, flags);
2014b5694182b5 Christian König       2013-12-18  968  
2014b5694182b5 Christian König       2013-12-18 @969  		r = put_user(value, (uint32_t *)buf);
2014b5694182b5 Christian König       2013-12-18  970  		if (r)
2014b5694182b5 Christian König       2013-12-18  971  			return r;
2014b5694182b5 Christian König       2013-12-18  972  
2014b5694182b5 Christian König       2013-12-18  973  		result += 4;
2014b5694182b5 Christian König       2013-12-18  974  		buf += 4;
2014b5694182b5 Christian König       2013-12-18  975  		*pos += 4;
2014b5694182b5 Christian König       2013-12-18  976  		size -= 4;
2014b5694182b5 Christian König       2013-12-18  977  	}
2014b5694182b5 Christian König       2013-12-18  978  
2014b5694182b5 Christian König       2013-12-18  979  	return result;
2014b5694182b5 Christian König       2013-12-18  980  }
2014b5694182b5 Christian König       2013-12-18  981  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (35138 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ