Re: kernel/uid16.c:184:2: error: implicit declaration of function 'groups_alloc'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]