Re: [PATCH v0.9 2/6] mm, x86/uaccess: add userspace atomic helpers

From: kernel test robot
Date: Mon Nov 22 2021 - 02:55:26 EST


Hi Peter,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on cb0e52b7748737b2cf6481fdd9b920ce7e1ebbdf]

url: https://github.com/0day-ci/linux/commits/Peter-Oskolkov/sched-mm-x86-uaccess-implement-User-Managed-Concurrency-Groups/20211122-052209
base: cb0e52b7748737b2cf6481fdd9b920ce7e1ebbdf
config: m68k-randconfig-r026-20211121 (attached as .config)
compiler: m68k-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/439d26d60c10ac8de229f859297b3cb8df029a9a
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Peter-Oskolkov/sched-mm-x86-uaccess-implement-User-Managed-Concurrency-Groups/20211122-052209
git checkout 439d26d60c10ac8de229f859297b3cb8df029a9a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=m68k

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

All warnings (new ones prefixed by >>):

>> mm/maccess.c:491: warning: expecting prototype for xchg_user_[32|64][_nofault|]() - exchange 32/64(). Prototype was for xchg_user_32_nofault() instead


vim +491 mm/maccess.c

474
475 /**
476 * xchg_user_[32|64][_nofault|]() - exchange 32/64-bit values
477 * @uaddr: Destination address, in user space;
478 * @val: Source address, in kernel space.
479 *
480 * This is the standard atomic xchg: exchange values pointed to by @uaddr and @val.
481 *
482 * The _nofault versions don't fault and can be used in
483 * atomic/preempt-disabled contexts.
484 *
485 * Return:
486 * 0 : OK/success;
487 * -EINVAL: @uaddr is not properly aligned ('may fault' versions only);
488 * -EFAULT: memory access error (including mis-aligned @uaddr in _nofault).
489 */
490 int xchg_user_32_nofault(u32 __user *uaddr, u32 *val)
> 491 {
492 int ret;
493
494 if (unlikely(!access_ok(uaddr, sizeof(*uaddr))))
495 return -EFAULT;
496
497 pagefault_disable();
498
499 if (!user_access_begin(uaddr, sizeof(*uaddr))) {
500 pagefault_enable();
501 return -EFAULT;
502 }
503
504 ret = __try_xchg_user_32(val, uaddr, *val);
505 user_access_end();
506
507 pagefault_enable();
508
509 return ret;
510 }
511

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

Attachment: .config.gz
Description: application/gzip