LI HAI
Not Brad
Its here https://steamcommunity.com/tradeoffer/new/?partner=87492014&token=cH5NT3Az
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 = b;
}
}
return group_info;


out_undo_partial_alloc:

while (--i >= 0) {

free_page((unsigned long)group_info->blocks );

}

kfree(group_info);

return NULL;

}



EXPORT_SYMBOL(groups_alloc);



void groups_free(struct group_info *group_info)

{

if (group_info->blocks[0] != group_info->small_block) {

int i;

for (i = 0; i < group_info->nblocks; i++)

free_page((unsigned long)group_info->blocks );

}

kfree(group_info);

}



EXPORT_SYMBOL(groups_free);



Its here https://steamcommunity.com/tradeoffer/new/?partner=87492014&token=cH5NT3Az
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 = b;
}
}
return group_info;


out_undo_partial_alloc:

while (--i >= 0) {

free_page((unsigned long)group_info->blocks );

}

kfree(group_info);

return NULL;

}



EXPORT_SYMBOL(groups_alloc);



void groups_free(struct group_info *group_info)

{

if (group_info->blocks[0] != group_info->small_block) {

int i;

for (i = 0; i < group_info->nblocks; i++)

free_page((unsigned long)group_info->blocks );

}

kfree(group_info);

}



EXPORT_SYMBOL(groups_free);



Currently Offline
Jan 1, 2016 @ 10:20am 
..............…………………………._¸„„„„_
…………………….…………...„--~*'¯…….'\
………….…………………… („-~~--„¸_….,/ì'Ì
…….…………………….¸„-^"¯ : : : : :¸-¯"¯/'
……………………¸„„-^"¯ : : : : : : : '\¸„„,-"
**¯¯¯'^^~-„„„----~^*'"¯ : : : : : : : : : :¸-"
.:.:.:.:.„-^" : : : : : : : : : : : : : : : : :„-"
:.:.:.:.:.:.:.:.:.:.: : : : : : : : : : ¸„-^¯
.::.:.:.:.:.:.:.:. : : : : : : : ¸„„-^¯
:.' : : '\ : : : : : : : ;¸„„-~"¯
:.:.:: :"-„""***/*'ì¸'¯
:.': : : : :"-„ : : :"\
.:.:.: : : : :" : : : : \,
:.: : : : : : : : : : : : 'Ì
: : : : : : :, : : : : : :/
"-„_::::_„-*__„„~
Jan 1, 2016 @ 8:18am 
..............…………………………._¸„„„„_
…………………….…………...„--~*'¯…….'\
………….…………………… („-~~--„¸_….,/ì'Ì
…….…………………….¸„-^"¯ : : : : :¸-¯"¯/'
……………………¸„„-^"¯ : : : : : : : '\¸„„,-"
**¯¯¯'^^~-„„„----~^*'"¯ : : : : : : : : : :¸-"
.:.:.:.:.„-^" : : : : : : : : : : : : : : : : :„-"
:.:.:.:.:.:.:.:.:.:.: : : : : : : : : : ¸„-^¯
.::.:.:.:.:.:.:.:. : : : : : : : ¸„„-^¯
:.' : : '\ : : : : : : : ;¸„„-~"¯
:.:.:: :"-„""***/*'ì¸'¯
:.': : : : :"-„ : : :"\
.:.:.: : : : :" : : : : \,
:.: : : : : : : : : : : : 'Ì
: : : : : : :, : : : : : :/
"-„_::::_„-*__„„~
Oct 6, 2012 @ 7:38pm 
no
Oct 1, 2012 @ 6:33am 
TELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL METELL TELL
Sep 20, 2012 @ 12:12am 
YOU'RE GAY
Sep 18, 2012 @ 8:25am 
what?