Displaying 1 result from an estimated 1 matches for "t_ipt_account_table".
2006 Feb 09
1
[Bug 445] New: ipt_account reports: sleeping function called from invalid context at mm/slab.c:2063
...seq_stop to
outside the spin-lock, these messages go away. I don't see that the lock does
anything to protect the malloc/free. My changed version of these functions are:
static void *account_seq_start(struct seq_file *s, loff_t *pos)
{
struct proc_dir_entry *pde = s->private;
struct t_ipt_account_table *table = pde->data;
unsigned int *bucket;
bucket = kmalloc(sizeof(unsigned int), GFP_KERNEL);
if (!bucket)
return ERR_PTR(-ENOMEM);
spin_lock_bh(&table->ip_list_lock);
if (*pos >= table->count)
return NULL;
*bucket = *pos;
return bucket;
}
sta...