netfilter: xt_hashlimit: simplify seqfile code
authorAlexey Dobriyan <adobriyan@gmail.com>
Mon, 18 Jan 2010 07:14:50 +0000 (08:14 +0100)
committerPatrick McHardy <kaber@trash.net>
Mon, 18 Jan 2010 07:14:50 +0000 (08:14 +0100)
Simply pass hashtable to seqfile iterators, proc entry itself is not needed.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
net/netfilter/xt_hashlimit.c

index 5bdc1fbf3ad7082bbf104dfe8083a955d8d5b6db..944fd11c8989e0ea5a3b82ea427e130377e45e09 100644 (file)
@@ -841,8 +841,7 @@ static struct xt_match hashlimit_mt_reg[] __read_mostly = {
 static void *dl_seq_start(struct seq_file *s, loff_t *pos)
        __acquires(htable->lock)
 {
-       struct proc_dir_entry *pde = s->private;
-       struct xt_hashlimit_htable *htable = pde->data;
+       struct xt_hashlimit_htable *htable = s->private;
        unsigned int *bucket;
 
        spin_lock_bh(&htable->lock);
@@ -859,8 +858,7 @@ static void *dl_seq_start(struct seq_file *s, loff_t *pos)
 
 static void *dl_seq_next(struct seq_file *s, void *v, loff_t *pos)
 {
-       struct proc_dir_entry *pde = s->private;
-       struct xt_hashlimit_htable *htable = pde->data;
+       struct xt_hashlimit_htable *htable = s->private;
        unsigned int *bucket = (unsigned int *)v;
 
        *pos = ++(*bucket);
@@ -874,8 +872,7 @@ static void *dl_seq_next(struct seq_file *s, void *v, loff_t *pos)
 static void dl_seq_stop(struct seq_file *s, void *v)
        __releases(htable->lock)
 {
-       struct proc_dir_entry *pde = s->private;
-       struct xt_hashlimit_htable *htable = pde->data;
+       struct xt_hashlimit_htable *htable = s->private;
        unsigned int *bucket = (unsigned int *)v;
 
        kfree(bucket);
@@ -917,8 +914,7 @@ static int dl_seq_real_show(struct dsthash_ent *ent, u_int8_t family,
 
 static int dl_seq_show(struct seq_file *s, void *v)
 {
-       struct proc_dir_entry *pde = s->private;
-       struct xt_hashlimit_htable *htable = pde->data;
+       struct xt_hashlimit_htable *htable = s->private;
        unsigned int *bucket = (unsigned int *)v;
        struct dsthash_ent *ent;
        struct hlist_node *pos;
@@ -944,7 +940,7 @@ static int dl_proc_open(struct inode *inode, struct file *file)
 
        if (!ret) {
                struct seq_file *sf = file->private_data;
-               sf->private = PDE(inode);
+               sf->private = PDE(inode)->data;
        }
        return ret;
 }