[PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr()
kernel test robot
lkp at intel.com
Sun Nov 19 14:13:56 AEDT 2023
Hi Kefeng,
kernel test robot noticed the following build errors:
[auto build test ERROR on soc/for-next]
[also build test ERROR on geert-m68k/for-next geert-m68k/for-linus deller-parisc/for-next powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231117]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Kefeng-Wang/asm-io-remove-unnecessary-xlate_dev_mem_ptr-and-unxlate_dev_mem_ptr/20231118-183038
base: https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git for-next
patch link: https://lore.kernel.org/r/20231118100827.1599422-1-wangkefeng.wang%40huawei.com
patch subject: [PATCH] asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr()
config: mips-mtx1_defconfig (https://download.01.org/0day-ci/archive/20231119/202311191145.pppExJS6-lkp@intel.com/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231119/202311191145.pppExJS6-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311191145.pppExJS6-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/char/mem.c:159:10: error: call to undeclared function 'xlate_dev_mem_ptr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
ptr = xlate_dev_mem_ptr(p);
^
>> drivers/char/mem.c:159:8: error: incompatible integer to pointer conversion assigning to 'void *' from 'int' [-Wint-conversion]
ptr = xlate_dev_mem_ptr(p);
^ ~~~~~~~~~~~~~~~~~~~~
>> drivers/char/mem.c:164:4: error: call to undeclared function 'unxlate_dev_mem_ptr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
unxlate_dev_mem_ptr(p, ptr);
^
drivers/char/mem.c:235:10: error: call to undeclared function 'xlate_dev_mem_ptr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
ptr = xlate_dev_mem_ptr(p);
^
drivers/char/mem.c:235:8: error: incompatible integer to pointer conversion assigning to 'void *' from 'int' [-Wint-conversion]
ptr = xlate_dev_mem_ptr(p);
^ ~~~~~~~~~~~~~~~~~~~~
drivers/char/mem.c:243:4: error: call to undeclared function 'unxlate_dev_mem_ptr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
unxlate_dev_mem_ptr(p, ptr);
^
6 errors generated.
vim +/xlate_dev_mem_ptr +159 drivers/char/mem.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 133
22ec1a2aea73b9 Kees Cook 2017-12-01 134 bounce = kmalloc(PAGE_SIZE, GFP_KERNEL);
22ec1a2aea73b9 Kees Cook 2017-12-01 135 if (!bounce)
22ec1a2aea73b9 Kees Cook 2017-12-01 136 return -ENOMEM;
22ec1a2aea73b9 Kees Cook 2017-12-01 137
^1da177e4c3f41 Linus Torvalds 2005-04-16 138 while (count > 0) {
fa29e97bb8c70f Wu Fengguang 2009-12-14 139 unsigned long remaining;
b5b38200ebe548 Kees Cook 2018-03-27 140 int allowed, probe;
fa29e97bb8c70f Wu Fengguang 2009-12-14 141
f222318e9c3a31 Wu Fengguang 2009-12-14 142 sz = size_inside_page(p, count);
^1da177e4c3f41 Linus Torvalds 2005-04-16 143
22ec1a2aea73b9 Kees Cook 2017-12-01 144 err = -EPERM;
a4866aa812518e Kees Cook 2017-04-05 145 allowed = page_is_allowed(p >> PAGE_SHIFT);
a4866aa812518e Kees Cook 2017-04-05 146 if (!allowed)
22ec1a2aea73b9 Kees Cook 2017-12-01 147 goto failed;
22ec1a2aea73b9 Kees Cook 2017-12-01 148
22ec1a2aea73b9 Kees Cook 2017-12-01 149 err = -EFAULT;
a4866aa812518e Kees Cook 2017-04-05 150 if (allowed == 2) {
a4866aa812518e Kees Cook 2017-04-05 151 /* Show zeros for restricted memory. */
a4866aa812518e Kees Cook 2017-04-05 152 remaining = clear_user(buf, sz);
a4866aa812518e Kees Cook 2017-04-05 153 } else {
^1da177e4c3f41 Linus Torvalds 2005-04-16 154 /*
a4866aa812518e Kees Cook 2017-04-05 155 * On ia64 if a page has been mapped somewhere as
a4866aa812518e Kees Cook 2017-04-05 156 * uncached, then it must also be accessed uncached
a4866aa812518e Kees Cook 2017-04-05 157 * by the kernel or data corruption may occur.
^1da177e4c3f41 Linus Torvalds 2005-04-16 158 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 @159 ptr = xlate_dev_mem_ptr(p);
e045fb2a988a9a venkatesh.pallipadi at intel.com 2008-03-18 160 if (!ptr)
22ec1a2aea73b9 Kees Cook 2017-12-01 161 goto failed;
a4866aa812518e Kees Cook 2017-04-05 162
fe557319aa06c2 Christoph Hellwig 2020-06-17 163 probe = copy_from_kernel_nofault(bounce, ptr, sz);
e045fb2a988a9a venkatesh.pallipadi at intel.com 2008-03-18 @164 unxlate_dev_mem_ptr(p, ptr);
b5b38200ebe548 Kees Cook 2018-03-27 165 if (probe)
22ec1a2aea73b9 Kees Cook 2017-12-01 166 goto failed;
22ec1a2aea73b9 Kees Cook 2017-12-01 167
22ec1a2aea73b9 Kees Cook 2017-12-01 168 remaining = copy_to_user(buf, bounce, sz);
a4866aa812518e Kees Cook 2017-04-05 169 }
a4866aa812518e Kees Cook 2017-04-05 170
fa29e97bb8c70f Wu Fengguang 2009-12-14 171 if (remaining)
22ec1a2aea73b9 Kees Cook 2017-12-01 172 goto failed;
e045fb2a988a9a venkatesh.pallipadi at intel.com 2008-03-18 173
^1da177e4c3f41 Linus Torvalds 2005-04-16 174 buf += sz;
^1da177e4c3f41 Linus Torvalds 2005-04-16 175 p += sz;
^1da177e4c3f41 Linus Torvalds 2005-04-16 176 count -= sz;
^1da177e4c3f41 Linus Torvalds 2005-04-16 177 read += sz;
8619e5bdeee8b2 Tetsuo Handa 2019-08-26 178 if (should_stop_iteration())
8619e5bdeee8b2 Tetsuo Handa 2019-08-26 179 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 180 }
22ec1a2aea73b9 Kees Cook 2017-12-01 181 kfree(bounce);
^1da177e4c3f41 Linus Torvalds 2005-04-16 182
^1da177e4c3f41 Linus Torvalds 2005-04-16 183 *ppos += read;
^1da177e4c3f41 Linus Torvalds 2005-04-16 184 return read;
22ec1a2aea73b9 Kees Cook 2017-12-01 185
22ec1a2aea73b9 Kees Cook 2017-12-01 186 failed:
22ec1a2aea73b9 Kees Cook 2017-12-01 187 kfree(bounce);
22ec1a2aea73b9 Kees Cook 2017-12-01 188 return err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 189 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 190
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the Linuxppc-dev
mailing list