groups.c (664b0bae0b87f69bc9deb098f5e0158b9cf18e04) groups.c (88dca4ca5a93d2c09e5bbc6a62fbfc3af83c4fca)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Supplementary group IDs
4 */
5#include <linux/cred.h>
6#include <linux/export.h>
7#include <linux/slab.h>
8#include <linux/security.h>

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

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

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

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

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

--- 210 unchanged lines hidden ---