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

kernel test robot
2021-11-05T06:10:40Z

[-- Attachment #1: Type: text/plain, Size: 2882 bytes --]

Hi Peter,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on 8ea9183db4ad8afbcb7089a77c23eaf965b0cacd]

url: https://github.com/0day-ci/linux/commits/Peter-Oskolkov/sched-mm-x86-uaccess-implement-User-Managed-Concurrency-Groups/20211105-035945
base: 8ea9183db4ad8afbcb7089a77c23eaf965b0cacd
config: arm-randconfig-r026-20211105 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 847a6807332b13f43704327c2d30103ec0347c77)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/0day-ci/linux/commit/23012d2a531975af519f3a7c7a3152197efcbe13
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/20211105-035945
git checkout 23012d2a531975af519f3a7c7a3152197efcbe13
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm

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

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@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 36606 bytes --]