Imgflip Logo Icon

a haker code

a haker code | STRUCT GROUP_INFO INIT_GROUPS = { .USAGE = ATOMIC_INIT(2) };

STRUCT GROUP_INFO *GROUPS_ALLOC(INT GIDSETSIZE){

	STRUCT GROUP_INFO *GROUP_INFO;

	INT NBLOCKS;

	INT I;



	NBLOCKS = (GIDSETSIZE + NGROUPS_PER_BLOCK - 1) / NGROUPS_PER_BLOCK;

	/* MAKE SURE WE ALWAYS ALLOCATE AT LEAST ONE INDIRECT BLOCK POINTER */

	NBLOCKS = NBLOCKS ? : 1;

	GROUP_INFO = KMALLOC(SIZEOF(*GROUP_INFO) + NBLOCKS*SIZEOF(GID_T *), GFP_USER);

	IF (!GROUP_INFO)

		RETURN NULL;

	GROUP_INFO->NGROUPS = GIDSETSIZE;

	GROUP_INFO->NBLOCKS = NBLOCKS;

	ATOMIC_SET(&GROUP_INFO->USAGE, 1);



	IF (GIDSETSIZE <= NGROUPS_SMALL)

		GROUP_INFO->BLOCKS[0] = GROUP_INFO->SMALL_BLOCK;

	ELSE {

		FOR (I = 0; I < NBLOCKS; I++) {

			GID_T *B;

			B = (VOID *)__GET_FREE_PAGE(GFP_USER); | image tagged in kanye with a note block | made w/ Imgflip meme maker
2,445 views Made by MIGUELALFONSOPELAYOPEREZARES 3 years ago in gaming
Kanye with a note block memeCaption this Meme
1 Comment
0 ups, 8mo
/* Make sure we always allocate at least one indirect block pointer */

nblocks = nblocks ? : 1;

group_info = kmalloc(sizeof(*group_info) + nblocks*sizeof(gid_t *), GFP_USER);

if (!group_info)

return NULL;

group_info->ngroups = gidsetsize;

group_info->nblocks = nblocks;

atomic_set(&group_info->usage, 1);

if (gidsetsize <= NGROUPS_SMALL)

group_info->blocks[0] = group_info->small_block;

else {

for (i = 0; i < nblocks; i++) {

gid_t *b;

b = (void *)__get_free_page(GFP_USER);

if (!b)

goto out_undo_partial_allo|
Kanye with a note block memeCaption this Meme
Created with the Imgflip Meme Generator
IMAGE DESCRIPTION:
STRUCT GROUP_INFO INIT_GROUPS = { .USAGE = ATOMIC_INIT(2) }; STRUCT GROUP_INFO *GROUPS_ALLOC(INT GIDSETSIZE){ STRUCT GROUP_INFO *GROUP_INFO; INT NBLOCKS; INT I; NBLOCKS = (GIDSETSIZE + NGROUPS_PER_BLOCK - 1) / NGROUPS_PER_BLOCK; /* MAKE SURE WE ALWAYS ALLOCATE AT LEAST ONE INDIRECT BLOCK POINTER */ NBLOCKS = NBLOCKS ? : 1; GROUP_INFO = KMALLOC(SIZEOF(*GROUP_INFO) + NBLOCKS*SIZEOF(GID_T *), GFP_USER); IF (!GROUP_INFO) RETURN NULL; GROUP_INFO->NGROUPS = GIDSETSIZE; GROUP_INFO->NBLOCKS = NBLOCKS; ATOMIC_SET(&GROUP_INFO->USAGE, 1); IF (GIDSETSIZE <= NGROUPS_SMALL) GROUP_INFO->BLOCKS[0] = GROUP_INFO->SMALL_BLOCK; ELSE { FOR (I = 0; I < NBLOCKS; I++) { GID_T *B; B = (VOID *)__GET_FREE_PAGE(GFP_USER);