xt_hashlimit: simplify seqfile code
Subsystems (2)
PATCH 1/1 xt_hashlimit: simplify seqfile code
Simply pass hashtable to seqfile iterators, proc entry itself is not needed.
Signed-off-by Alexey Dobriyan <[email protected]>
---
net/netfilter/xt_hashlimit.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-)
net/netfilter/xt_hashlimit.c +5 -9
@@ -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; }
Patrick McHardy
AppliedQuoted 1 line · Alexey Dobriyan
Simply pass hashtable to seqfile iterators, proc entry itself is not needed.
Applied, thanks.