Re: drivers/infiniband/core/.tmp_gl_uverbs_main.o:undefined reference to `__user_bad'
From: Jason Gunthorpe
Date: Tue Jan 01 2019 - 15:07:58 EST
On Wed, Jan 02, 2019 at 02:33:41AM +0800, kbuild test robot wrote:
> Hi Jason,
>
> FYI, the error/warning still remains.
Like binder, DRM, etc, uverbs requires architectures to support 8 byte
get_user/put_user.
For some reason microblaze only supports 8 byte for put_user, so it
fails to compile.
I don't see a reason to change uverbs here, I think microblaze should
be fixed, then it would fix all the cases below.
Jason
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: e1ef035d272ef4dbfdda98e58699698305138856
> commit: 3a6532c9af1a7836da2d597f1aaca73cb16c3b97 RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write
> date: 5 weeks ago
> config: microblaze-allyesconfig (attached as .config)
> compiler: microblaze-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 3a6532c9af1a7836da2d597f1aaca73cb16c3b97
> # save the attached .config to linux build tree
> GCC_VERSION=8.1.0 make.cross ARCH=microblaze
>
> All errors (new ones prefixed by >>):
>
> `.exit.data' referenced in section `.exit.text' of drivers/tty/n_hdlc.o: defined in discarded section `.exit.data' of drivers/tty/n_hdlc.o
> `.exit.data' referenced in section `.exit.text' of drivers/tty/n_hdlc.o: defined in discarded section `.exit.data' of drivers/tty/n_hdlc.o
> drivers/infiniband/core/uverbs_main.o: In function `ib_uverbs_write':
> >> drivers/infiniband/core/.tmp_gl_uverbs_main.o:(.text+0x13a4): undefined reference to `__user_bad'
> drivers/android/binder.o: In function `binder_thread_write':
> drivers/android/.tmp_gl_binder.o:(.text+0xda6c): undefined reference to `__user_bad'
> drivers/android/.tmp_gl_binder.o:(.text+0xda98): undefined reference to `__user_bad'
> drivers/android/.tmp_gl_binder.o:(.text+0xdf10): undefined reference to `__user_bad'
> drivers/android/.tmp_gl_binder.o:(.text+0xe498): undefined reference to `__user_bad'
> drivers/android/binder.o:drivers/android/.tmp_gl_binder.o:(.text+0xea78): more undefined references to `__user_bad' follow
>
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation