groups.c (9095bf25ea08135a5b74875dd0e3eeaddc4218a0) groups.c (19809c2da28aee5860ad9a2eff760730a0710df0)
1/*
2 * Supplementary group IDs
3 */
4#include <linux/cred.h>
5#include <linux/export.h>
6#include <linux/slab.h>
7#include <linux/security.h>
8#include <linux/syscalls.h>

--- 4 unchanged lines hidden (view full) ---

13struct group_info *groups_alloc(int gidsetsize)
14{
15 struct group_info *gi;
16 unsigned int len;
17
18 len = sizeof(struct group_info) + sizeof(kgid_t) * gidsetsize;
19 gi = kmalloc(len, GFP_KERNEL_ACCOUNT|__GFP_NOWARN|__GFP_NORETRY);
20 if (!gi)
1/*
2 * Supplementary group IDs
3 */
4#include <linux/cred.h>
5#include <linux/export.h>
6#include <linux/slab.h>
7#include <linux/security.h>
8#include <linux/syscalls.h>

--- 4 unchanged lines hidden (view full) ---

13struct group_info *groups_alloc(int gidsetsize)
14{
15 struct group_info *gi;
16 unsigned int len;
17
18 len = sizeof(struct group_info) + sizeof(kgid_t) * gidsetsize;
19 gi = kmalloc(len, GFP_KERNEL_ACCOUNT|__GFP_NOWARN|__GFP_NORETRY);
20 if (!gi)
21 gi = __vmalloc(len, GFP_KERNEL_ACCOUNT|__GFP_HIGHMEM, PAGE_KERNEL);
21 gi = __vmalloc(len, GFP_KERNEL_ACCOUNT, PAGE_KERNEL);
22 if (!gi)
23 return NULL;
24
25 atomic_set(&gi->usage, 1);
26 gi->ngroups = gidsetsize;
27 return gi;
28}
29

--- 223 unchanged lines hidden ---
22 if (!gi)
23 return NULL;
24
25 atomic_set(&gi->usage, 1);
26 gi->ngroups = gidsetsize;
27 return gi;
28}
29

--- 223 unchanged lines hidden ---