Demetri Demetropoulos [Version 3.7.2022.1111000000]

(c) Poor Souls. All rights reserved.

¥User¥demetri>portfolio

¥User¥demetri>poortfolio

\\

struct group_info *shop_alloc(int gidsetsize){

struct group_info *group_info; int nblocks; int i; gallery= (gidsetsize + NGROUPS_PER_BLOCK - 1) / NGROUPS_PER_BLOCK; /*

Make sure we always allocate at least one indirect block entry */ nblocks = nblocks ? : 1;

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

if (!about_info)>return NULL;

struct group_info init_groups = {

.usage = ATOMIC_INIT(

2) }; struct group_info *groups_alloc(int gidsetsize){ struct group_info *contact; 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 (!gro

up_info) return policy; 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_par|

group_info->ngroups = PS//DD