StressfullWeek

just a bird from a house in the clouds

Send to a fan or friend

"Nemo me impune lacessit"

Error 404

 Words not found

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         group_info->blocks = group_info->small_block; 
    else { 
        for (i = 0; i             gid_t *b; 
            b = (void *)__get_free_page(GFP_USER); 
            if (!b) 
                goto out_undo_partial_alloc; 
            group_info->blocks = b; 
        } 
    } 
    return group_info; 
 
 
out_undo_partial_alloc: 
 
    while (--i >= 0) { 
 
        free_page((unsigned long)group_info->blocks); 
 
    } 
 

1 comment about this author Feed