Re: [PATCH 05/10] binfmt_flat: use proper user space accessors with relocs processing code

From: kbuild test robot
Date: Tue Jul 12 2016 - 18:22:49 EST


Hi,

[auto build test ERROR on arm/for-next]
[also build test ERROR on v4.7-rc7 next-20160712]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Nicolas-Pitre/binfmt_flat-assorted-cleanups/20160713-055609
base: http://repo.or.cz/linux-2.6/linux-2.6-arm.git for-next
config: sh-allyesconfig (attached as .config)
compiler: sh4-linux-gnu-gcc (Debian 5.3.1-8) 5.3.1 20160205
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=sh

All error/warnings (new ones prefixed by >>):

In file included from include/linux/flat.h:12:0,
from fs/binfmt_flat.c:36:
fs/binfmt_flat.c: In function 'load_flat_file':
>> arch/sh/include/asm/flat.h:19:26: error: implicit declaration of function '__get_user_unaligned' [-Werror=implicit-function-declaration]
({ unsigned long __val; __get_user_unaligned(__val, rp); __val; })
^
>> fs/binfmt_flat.c:771:11: note: in expansion of macro 'flat_get_addr_from_rp'
addr = flat_get_addr_from_rp(rp, relval, flags,
^
>> arch/sh/include/asm/flat.h:20:46: error: implicit declaration of function '__put_user_unaligned' [-Werror=implicit-function-declaration]
#define flat_put_addr_at_rp(rp, val, relval) __put_user_unaligned(val, rp)
^
>> fs/binfmt_flat.c:787:5: note: in expansion of macro 'flat_put_addr_at_rp'
flat_put_addr_at_rp(rp, addr, relval);
^
>> arch/sh/include/asm/flat.h:19:26: warning: '__val' may be used uninitialized in this function [-Wmaybe-uninitialized]
({ unsigned long __val; __get_user_unaligned(__val, rp); __val; })
^
arch/sh/include/asm/flat.h:19:19: note: '__val' was declared here
({ unsigned long __val; __get_user_unaligned(__val, rp); __val; })
^
>> fs/binfmt_flat.c:771:11: note: in expansion of macro 'flat_get_addr_from_rp'
addr = flat_get_addr_from_rp(rp, relval, flags,
^
cc1: some warnings being treated as errors

vim +/__get_user_unaligned +19 arch/sh/include/asm/flat.h

13 #define __ASM_SH_FLAT_H
14
15 #define flat_argvp_envp_on_stack() 0
16 #define flat_old_ram_flag(flags) (flags)
17 #define flat_reloc_valid(reloc, size) ((reloc) <= (size))
18 #define flat_get_addr_from_rp(rp, relval, flags, p) \
> 19 ({ unsigned long __val; __get_user_unaligned(__val, rp); __val; })
> 20 #define flat_put_addr_at_rp(rp, val, relval) __put_user_unaligned(val, rp)
21 #define flat_get_relocate_addr(rel) (rel)
22 #define flat_set_persistent(relval, p) ({ (void)p; 0; })
23

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

Attachment: .config.gz
Description: Binary data