arch/xtensa/include/asm/uaccess.h:40:22: error: implicit declaration of function 'uaccess_kernel'; did you mean 'getname_kernel'?

From: kbuild test robot
Date: Mon May 20 2019 - 00:14:57 EST


Hi Matt,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a188339ca5a396acc588e5851ed7e19f66b0ebd9
commit: 7df95299b94a63ec67a6389fc02dc25019a80ee8 staging: kpc2000: Add DMA driver
date: 4 weeks ago
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 8.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 7df95299b94a63ec67a6389fc02dc25019a80ee8
# save the attached .config to linux build tree
GCC_VERSION=8.1.0 make.cross ARCH=xtensa

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

All errors (new ones prefixed by >>):

In file included from drivers/staging/kpc2000/kpc_dma/fileops.c:11:
arch/xtensa/include/asm/uaccess.h: In function 'clear_user':
>> arch/xtensa/include/asm/uaccess.h:40:22: error: implicit declaration of function 'uaccess_kernel'; did you mean 'getname_kernel'? [-Werror=implicit-function-declaration]
#define __kernel_ok (uaccess_kernel())
^~~~~~~~~~~~~~
arch/xtensa/include/asm/uaccess.h:43:34: note: in expansion of macro '__kernel_ok'
#define __access_ok(addr, size) (__kernel_ok || __user_ok((addr), (size)))
^~~~~~~~~~~
arch/xtensa/include/asm/uaccess.h:44:31: note: in expansion of macro '__access_ok'
#define access_ok(addr, size) __access_ok((unsigned long)(addr), (size))
^~~~~~~~~~~
arch/xtensa/include/asm/uaccess.h:271:6: note: in expansion of macro 'access_ok'
if (access_ok(addr, size))
^~~~~~~~~
In file included from include/linux/printk.h:330,
from include/linux/kernel.h:15,
from include/linux/list.h:9,
from include/linux/module.h:9,
from drivers/staging/kpc2000/kpc_dma/fileops.c:2:
drivers/staging/kpc2000/kpc_dma/fileops.c: In function 'kpc_dma_transfer':
drivers/staging/kpc2000/kpc_dma/fileops.c:58:35: warning: format '%ld' expects argument of type 'long int', but argument 7 has type 'size_t' {aka 'unsigned int'} [-Wformat=]
dev_dbg(&priv->ldev->pldev->dev, "kpc_dma_transfer(priv = [%p], kcb = [%p], iov_base = [%p], iov_len = %ld) ldev = [%p]\n", priv, kcb, (void*)iov_base, iov_len, ldev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:118:15: note: in definition of macro '__dynamic_func_call'
func(&id, ##__VA_ARGS__); \
^~~~~~~~~~~
include/linux/dynamic_debug.h:150:2: note: in expansion of macro '_dynamic_func_call'
_dynamic_func_call(fmt,__dynamic_dev_dbg, \
^~~~~~~~~~~~~~~~~~
include/linux/device.h:1493:2: note: in expansion of macro 'dynamic_dev_dbg'
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~~~~
include/linux/device.h:1493:23: note: in expansion of macro 'dev_fmt'
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~
drivers/staging/kpc2000/kpc_dma/fileops.c:58:2: note: in expansion of macro 'dev_dbg'
dev_dbg(&priv->ldev->pldev->dev, "kpc_dma_transfer(priv = [%p], kcb = [%p], iov_base = [%p], iov_len = %ld) ldev = [%p]\n", priv, kcb, (void*)iov_base, iov_len, ldev);
^~~~~~~
cc1: some warnings being treated as errors
--
In file included from drivers/staging//kpc2000/kpc_dma/fileops.c:11:
arch/xtensa/include/asm/uaccess.h: In function 'clear_user':
>> arch/xtensa/include/asm/uaccess.h:40:22: error: implicit declaration of function 'uaccess_kernel'; did you mean 'getname_kernel'? [-Werror=implicit-function-declaration]
#define __kernel_ok (uaccess_kernel())
^~~~~~~~~~~~~~
arch/xtensa/include/asm/uaccess.h:43:34: note: in expansion of macro '__kernel_ok'
#define __access_ok(addr, size) (__kernel_ok || __user_ok((addr), (size)))
^~~~~~~~~~~
arch/xtensa/include/asm/uaccess.h:44:31: note: in expansion of macro '__access_ok'
#define access_ok(addr, size) __access_ok((unsigned long)(addr), (size))
^~~~~~~~~~~
arch/xtensa/include/asm/uaccess.h:271:6: note: in expansion of macro 'access_ok'
if (access_ok(addr, size))
^~~~~~~~~
In file included from include/linux/printk.h:330,
from include/linux/kernel.h:15,
from include/linux/list.h:9,
from include/linux/module.h:9,
from drivers/staging//kpc2000/kpc_dma/fileops.c:2:
drivers/staging//kpc2000/kpc_dma/fileops.c: In function 'kpc_dma_transfer':
drivers/staging//kpc2000/kpc_dma/fileops.c:58:35: warning: format '%ld' expects argument of type 'long int', but argument 7 has type 'size_t' {aka 'unsigned int'} [-Wformat=]
dev_dbg(&priv->ldev->pldev->dev, "kpc_dma_transfer(priv = [%p], kcb = [%p], iov_base = [%p], iov_len = %ld) ldev = [%p]\n", priv, kcb, (void*)iov_base, iov_len, ldev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:118:15: note: in definition of macro '__dynamic_func_call'
func(&id, ##__VA_ARGS__); \
^~~~~~~~~~~
include/linux/dynamic_debug.h:150:2: note: in expansion of macro '_dynamic_func_call'
_dynamic_func_call(fmt,__dynamic_dev_dbg, \
^~~~~~~~~~~~~~~~~~
include/linux/device.h:1493:2: note: in expansion of macro 'dynamic_dev_dbg'
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~~~~
include/linux/device.h:1493:23: note: in expansion of macro 'dev_fmt'
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~
drivers/staging//kpc2000/kpc_dma/fileops.c:58:2: note: in expansion of macro 'dev_dbg'
dev_dbg(&priv->ldev->pldev->dev, "kpc_dma_transfer(priv = [%p], kcb = [%p], iov_base = [%p], iov_len = %ld) ldev = [%p]\n", priv, kcb, (void*)iov_base, iov_len, ldev);
^~~~~~~
cc1: some warnings being treated as errors

vim +40 arch/xtensa/include/asm/uaccess.h

9a8fd558 include/asm-xtensa/uaccess.h Chris Zankel 2005-06-23 39
db68ce10 arch/xtensa/include/asm/uaccess.h Al Viro 2017-03-20 @40 #define __kernel_ok (uaccess_kernel())
c4c4594b arch/xtensa/include/asm/uaccess.h Chris Zankel 2012-11-28 41 #define __user_ok(addr, size) \
c4c4594b arch/xtensa/include/asm/uaccess.h Chris Zankel 2012-11-28 42 (((size) <= TASK_SIZE)&&((addr) <= TASK_SIZE-(size)))
9a8fd558 include/asm-xtensa/uaccess.h Chris Zankel 2005-06-23 43 #define __access_ok(addr, size) (__kernel_ok || __user_ok((addr), (size)))
96d4f267 arch/xtensa/include/asm/uaccess.h Linus Torvalds 2019-01-03 44 #define access_ok(addr, size) __access_ok((unsigned long)(addr), (size))
9a8fd558 include/asm-xtensa/uaccess.h Chris Zankel 2005-06-23 45

:::::: The code at line 40 was first introduced by commit
:::::: db68ce10c4f0a27c1ff9fa0e789e5c41f8c4ea63 new helper: uaccess_kernel()

:::::: TO: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
:::::: CC: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip