On Sun, 5 Jul 2015 07:30:38 +0800 kbuild test robot <fengguang.wu@xxxxxxxxx> wrote: > tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > head: 5c755fe142b421d295e7dd64a9833c12abbfd28e > commit: 2813893f8b197a14f1e1ddb04d99bce46817c84a kernel: conditionally support non-root users, groups and capabilities > date: 3 months ago > config: openrisc-allnoconfig (attached as .config) > 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 > git checkout 2813893f8b197a14f1e1ddb04d99bce46817c84a > # save the attached .config to linux build tree > make.cross ARCH=openrisc > > All error/warnings (new ones prefixed by >>): > > kernel/uid16.c: In function 'SYSC_setgroups16': > >> kernel/uid16.c:184:2: error: implicit declaration of function 'groups_alloc' > kernel/uid16.c:184:13: warning: assignment makes pointer from integer without a cast Iulia, does the below look corect? It will make setgroups16() return -ENOMEM, which seems inappropriate. From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: kernel/uid16.c needs cred.h openrisc-allnoconfig: kernel/uid16.c: In function 'SYSC_setgroups16': kernel/uid16.c:184:2: error: implicit declaration of function 'groups_alloc' kernel/uid16.c:184:13: warning: assignment makes pointer from integer without a cast Fixes: 2813893f8b197a1 ("kernel: conditionally support non-root users, groups and capabilities") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Iulia Manda <iulia.manda21@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/cred.h | 9 +++++++-- kernel/uid16.c | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff -puN kernel/uid16.c~kernel-uid16c-needs-credh kernel/uid16.c --- a/kernel/uid16.c~kernel-uid16c-needs-credh +++ a/kernel/uid16.c @@ -9,6 +9,7 @@ #include <linux/reboot.h> #include <linux/prctl.h> #include <linux/capability.h> +#include <linux/cred.h> #include <linux/init.h> #include <linux/highuid.h> #include <linux/security.h> diff -puN include/linux/cred.h~kernel-uid16c-needs-credh include/linux/cred.h --- a/include/linux/cred.h~kernel-uid16c-needs-credh +++ a/include/linux/cred.h @@ -64,12 +64,17 @@ do { \ extern struct group_info init_groups; #ifdef CONFIG_MULTIUSER -extern struct group_info *groups_alloc(int); -extern void groups_free(struct group_info *); +extern struct group_info *groups_alloc(int gidsetsize); +extern void groups_free(struct group_info *group_info); extern int in_group_p(kgid_t); extern int in_egroup_p(kgid_t); #else +extern struct group_info *groups_alloc(int gidsetsize) +{ + return NULL; +} + static inline void groups_free(struct group_info *group_info) { } _ -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>