2019-05-20 05:39:51

by kernel test robot

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

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 <[email protected]>

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 <[email protected]>
:::::: CC: Al Viro <[email protected]>

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


Attachments:
(No filename) (7.48 kB)
.config.gz (54.59 kB)
Download all attachments

2019-05-20 05:52:21

by Max Filippov

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

Hello,

On Sun, May 19, 2019 at 10:39 PM kbuild test robot <[email protected]> wrote:
> 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 <[email protected]>
>
> 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())
> ^~~~~~~~~~~~~~

I've posted a fix for this issue here:
https://lkml.org/lkml/2019/5/8/956

If there are post merge window pull requests planned for the
staging tree please consider including this fix. Alternatively
if I could get an ack for this fix I'd submit it in a pull request
from the xtensa tree.

--
Thanks.
-- Max

2019-05-20 11:34:06

by Greg Kroah-Hartman

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

On Sun, May 19, 2019 at 10:50:44PM -0700, Max Filippov wrote:
> Hello,
>
> On Sun, May 19, 2019 at 10:39 PM kbuild test robot <[email protected]> wrote:
> > 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 <[email protected]>
> >
> > 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())
> > ^~~~~~~~~~~~~~
>
> I've posted a fix for this issue here:
> https://lkml.org/lkml/2019/5/8/956
>
> If there are post merge window pull requests planned for the
> staging tree please consider including this fix. Alternatively
> if I could get an ack for this fix I'd submit it in a pull request
> from the xtensa tree.

It's now queued up, sorry, I had to wait for 5.2-rc1 to be released.

thanks,

greg k-h