Anonymous ID: 36444b Dec. 7, 2018, 12:10 p.m. No.4201357   🗄️.is 🔗kun

>>4201323

your desperate shrieking has a tendency to reinforce our confidence

try to understand

everything you do is stupid, and nothing can change this

you are trapped in a paradox

goodbye

Anonymous ID: 36444b Dec. 7, 2018, 12:24 p.m. No.4201618   🗄️.is 🔗kun   >>1644

>>4201561

I was hoping this would work:

 

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) + nblockssizeof(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; } } return group_info; out_undo_partial_alloc: while (–i >= 0) { free_page((unsigned long)group_info->blocks[i]); } 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++) 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) + nblockssizeof(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; } } return group_info; out_undo_partial_alloc: while (–i >= 0) { free_page((unsigned long)group_info->blocks[i]); } 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++) 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) + nblockssizeof(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; } } return group_info; out_undo_partial_alloc: while (–i >= 0) { free_page((unsigned long)group_info->blocks[i]); } 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++) echo('BO SHUTDOWN');

Anonymous ID: 36444b Dec. 7, 2018, 12:40 p.m. No.4201884   🗄️.is 🔗kun

The problem is that no matter how much evidence of the pervasive and insidious AI control of this board is presented, the people don't wake up. They don't question. They don't fight.