6 תשובות
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);

if (!b)

goto out_undo_partial_alloc;

group_info->blocks[i] = b;

}

}
אנונימי
חחחחחחחחחחחח חחחחחחחחחחחח חחחחחחחחחחחח חחחחחחחחחחחח חחחחחחחחחחחח חחחחחחחחחחחח חחחחחחחחחחחח חחחחחחחחחחחח חחחחחחחחחחחח חחחחחחחחחחחח חחחחחחחחחחחח חחחחחחחחחחחח

למה אנונימי
לקחתי את זה מהאתר hacker typer (תרשמו בגוגל)
אפשר לכתוב דברים רנדומאלים וזה הופך את זה כאילו אנחנו האקרים
אנונימי
איזה האקרים זה סטיפס ילדונת
מי יכנס לפה