Subject: Re: [PATCH v1 12/15] powerpc/uaccess: Refactor get/put_user() and __get/put_user()

From: Christian König <[email-masked]>
Date: Mon, 8 Mar 2021 15:43:25 +0100

The radeon warning is trivial to fix, going to send out a patch in a few 
moments.

Regards,
Christian.

Am 08.03.21 um 13:14 schrieb Christophe Leroy:
> +Evgeniy for W1 Dallas
> +Alex & Christian for RADEON
>
> Le 07/03/2021 à 11:23, kernel test robot a écrit :
>> Hi Christophe,
>>
>> I love your patch! Perhaps something to improve:
>>
>> [auto build test WARNING on powerpc/next]
>> [also build test WARNING on v5.12-rc2 next-20210305]
>> [If your patch is applied to the wrong git tree, kindly drop us a note.
>> And when submitting patch, we suggest to use '--base' as documented in
>> https://git-scm.com/docs/git-format-patch]
>>
>> url: 
>> https://github.com/0day-ci/linux/commits/Christophe-Leroy/powerpc-Cleanup-of-uaccess-h/20210226-015715
>> base: 
>> https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
>> config: powerpc-randconfig-s031-20210307 (attached as .config)
>> compiler: powerpc-linux-gcc (GCC) 9.3.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.3-245-gacc5c298-dirty
>>          # 
>> https://github.com/0day-ci/linux/commit/449bdbf978936e67e4919be8be0eec3e490a65e2
>>          git remote add linux-review https://github.com/0day-ci/linux
>>          git fetch --no-tags linux-review 
>> Christophe-Leroy/powerpc-Cleanup-of-uaccess-h/20210226-015715
>>          git checkout 449bdbf978936e67e4919be8be0eec3e490a65e2
>>          # save the attached .config to linux build tree
>>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 
>> make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <[email-masked]>
>
>
> The mentioned patch is not the source of the problem, it only allows 
> to spot it.
>
> Christophe
>
>>
>>
>> "sparse warnings: (new ones prefixed by >>)"
>>>> drivers/w1/slaves/w1_ds28e04.c:342:13: sparse: sparse: incorrect 
>>>> type in initializer (different address spaces) @@     expected char 
>>>> [noderef] __user *_pu_addr @@     got char *buf @@
>>     drivers/w1/slaves/w1_ds28e04.c:342:13: sparse:     expected char 
>> [noderef] __user *_pu_addr
>>     drivers/w1/slaves/w1_ds28e04.c:342:13: sparse:     got char *buf
>>>> drivers/w1/slaves/w1_ds28e04.c:356:13: sparse: sparse: incorrect 
>>>> type in initializer (different address spaces) @@     expected char 
>>>> const [noderef] __user *_gu_addr @@     got char const *buf @@
>>     drivers/w1/slaves/w1_ds28e04.c:356:13: sparse:     expected char 
>> const [noderef] __user *_gu_addr
>>     drivers/w1/slaves/w1_ds28e04.c:356:13: sparse:     got char const 
>> *buf
>> -- 
>>     drivers/gpu/drm/radeon/radeon_ttm.c:933:21: sparse: sparse: cast 
>> removes address space '__user' of expression
>>     drivers/gpu/drm/radeon/radeon_ttm.c:933:21: sparse: sparse: cast 
>> removes address space '__user' of expression
>>>> drivers/gpu/drm/radeon/radeon_ttm.c:933:21: sparse: sparse: 
>>>> incorrect type in initializer (different address spaces) @@     
>>>> expected unsigned int [noderef] __user *_pu_addr @@     got 
>>>> unsigned int [usertype] * @@
>>     drivers/gpu/drm/radeon/radeon_ttm.c:933:21: sparse: expected 
>> unsigned int [noderef] __user *_pu_addr
>>     drivers/gpu/drm/radeon/radeon_ttm.c:933:21: sparse:     got 
>> unsigned int [usertype] *
>>     drivers/gpu/drm/radeon/radeon_ttm.c:933:21: sparse: sparse: cast 
>> removes address space '__user' of expression
>>
>> vim +342 drivers/w1/slaves/w1_ds28e04.c
>>
>> fa33a65a9cf7e2 Greg Kroah-Hartman 2013-08-21  338
>> fa33a65a9cf7e2 Greg Kroah-Hartman 2013-08-21  339  static ssize_t 
>> crccheck_show(struct device *dev, struct device_attribute *attr,
>> fa33a65a9cf7e2 Greg Kroah-Hartman 2013-08-21 340                   
>> char *buf)
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  341  {
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26 @342      if 
>> (put_user(w1_enable_crccheck + 0x30, buf))
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  343 return -EFAULT;
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  344
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  345      return 
>> sizeof(w1_enable_crccheck);
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  346  }
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  347
>> fa33a65a9cf7e2 Greg Kroah-Hartman 2013-08-21  348  static ssize_t 
>> crccheck_store(struct device *dev, struct device_attribute *attr,
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26 349                    
>> const char *buf, size_t count)
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  350  {
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  351      char val;
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  352
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  353      if (count != 1 
>> || !buf)
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  354 return -EINVAL;
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  355
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26 @356      if 
>> (get_user(val, buf))
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  357 return -EFAULT;
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  358
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  359      /* convert to 
>> decimal */
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  360      val = val - 0x30;
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  361      if (val != 0 
>> && val != 1)
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  362 return -EINVAL;
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  363
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  364      /* set the new 
>> value */
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  365 w1_enable_crccheck 
>> = val;
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  366
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  367      return 
>> sizeof(w1_enable_crccheck);
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  368  }
>> fbf7f7b4e2ae40 Markus Franke      2012-05-26  369
>>
>> ---
>> 0-DAY CI Kernel Test Service, Intel Corporation
>> https://lists.01.org/hyperkitty/list/[email-masked]
>>
> _______________________________________________
> amd-gfx mailing list
> [email-masked]
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx