aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Jones <rob.jones@codethink.co.uk>2014-09-19 06:27:51 -0400
committerPablo Neira Ayuso <pablo@netfilter.org>2014-09-26 12:42:29 -0400
commit772476df7047db87ac4174d1ed396512912d23bf (patch)
tree7be8957012a3382252d881f1007e59c83f7a7897
parent84d7fce693884897c6196cc98228a2ad56ae2a9a (diff)
net/netfilter/x_tables.c: use __seq_open_private()
Reduce boilerplate code by using __seq_open_private() instead of seq_open() in xt_match_open() and xt_target_open(). Signed-off-by: Rob Jones <rob.jones@codethink.co.uk> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--net/netfilter/x_tables.c30
1 files changed, 4 insertions, 26 deletions
diff --git a/net/netfilter/x_tables.c b/net/netfilter/x_tables.c
index 272ae4d6fdf4..133eb4772f12 100644
--- a/net/netfilter/x_tables.c
+++ b/net/netfilter/x_tables.c
@@ -1101,22 +1101,11 @@ static const struct seq_operations xt_match_seq_ops = {
1101 1101
1102static int xt_match_open(struct inode *inode, struct file *file) 1102static int xt_match_open(struct inode *inode, struct file *file)
1103{ 1103{
1104 struct seq_file *seq;
1105 struct nf_mttg_trav *trav; 1104 struct nf_mttg_trav *trav;
1106 int ret; 1105 trav = __seq_open_private(file, &xt_match_seq_ops, sizeof(*trav));
1107 1106 if (!trav)
1108 trav = kmalloc(sizeof(*trav), GFP_KERNEL);
1109 if (trav == NULL)
1110 return -ENOMEM; 1107 return -ENOMEM;
1111 1108
1112 ret = seq_open(file, &xt_match_seq_ops);
1113 if (ret < 0) {
1114 kfree(trav);
1115 return ret;
1116 }
1117
1118 seq = file->private_data;
1119 seq->private = trav;
1120 trav->nfproto = (unsigned long)PDE_DATA(inode); 1109 trav->nfproto = (unsigned long)PDE_DATA(inode);
1121 return 0; 1110 return 0;
1122} 1111}
@@ -1165,22 +1154,11 @@ static const struct seq_operations xt_target_seq_ops = {
1165 1154
1166static int xt_target_open(struct inode *inode, struct file *file) 1155static int xt_target_open(struct inode *inode, struct file *file)
1167{ 1156{
1168 struct seq_file *seq;
1169 struct nf_mttg_trav *trav; 1157 struct nf_mttg_trav *trav;
1170 int ret; 1158 trav = __seq_open_private(file, &xt_target_seq_ops, sizeof(*trav));
1171 1159 if (!trav)
1172 trav = kmalloc(sizeof(*trav), GFP_KERNEL);
1173 if (trav == NULL)
1174 return -ENOMEM; 1160 return -ENOMEM;
1175 1161
1176 ret = seq_open(file, &xt_target_seq_ops);
1177 if (ret < 0) {
1178 kfree(trav);
1179 return ret;
1180 }
1181
1182 seq = file->private_data;
1183 seq->private = trav;
1184 trav->nfproto = (unsigned long)PDE_DATA(inode); 1162 trav->nfproto = (unsigned long)PDE_DATA(inode);
1185 return 0; 1163 return 0;
1186} 1164}