aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Wang <wangyun@linux.vnet.ibm.com>2012-08-22 16:00:06 -0400
committerPablo Neira Ayuso <pablo@netfilter.org>2012-09-03 07:52:54 -0400
commit1c15b677097fc133cc23108d98e0f0846e94cd48 (patch)
tree89494d50d37478fd5528a9b9e603aefc3bc1ae7b
parent2a6decfd8a5fae0422c98a22aa6bc30224b8a3ec (diff)
netfilter: pass 'nf_hook_ops' instead of 'list_head' to nf_queue()
Since 'list_for_each_continue_rcu' has already been replaced by 'list_for_each_entry_continue_rcu', pass 'list_head' to nf_queue() as a parameter can not benefit us any more. This patch will replace 'list_head' with 'nf_hook_ops' as the parameter of nf_queue() and __nf_queue() to save code. Signed-off-by: Michael Wang <wangyun@linux.vnet.ibm.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--net/netfilter/core.c4
-rw-r--r--net/netfilter/nf_internals.h2
-rw-r--r--net/netfilter/nf_queue.c8
3 files changed, 7 insertions, 7 deletions
diff --git a/net/netfilter/core.c b/net/netfilter/core.c
index 0b119d94c31a..68912dadf13d 100644
--- a/net/netfilter/core.c
+++ b/net/netfilter/core.c
@@ -189,8 +189,8 @@ next_hook:
189 if (ret == 0) 189 if (ret == 0)
190 ret = -EPERM; 190 ret = -EPERM;
191 } else if ((verdict & NF_VERDICT_MASK) == NF_QUEUE) { 191 } else if ((verdict & NF_VERDICT_MASK) == NF_QUEUE) {
192 int err = nf_queue(skb, &elem->list, pf, hook, indev, outdev, 192 int err = nf_queue(skb, elem, pf, hook, indev, outdev, okfn,
193 okfn, verdict >> NF_VERDICT_QBITS); 193 verdict >> NF_VERDICT_QBITS);
194 if (err < 0) { 194 if (err < 0) {
195 if (err == -ECANCELED) 195 if (err == -ECANCELED)
196 goto next_hook; 196 goto next_hook;
diff --git a/net/netfilter/nf_internals.h b/net/netfilter/nf_internals.h
index 2886231d20a8..3deec997be89 100644
--- a/net/netfilter/nf_internals.h
+++ b/net/netfilter/nf_internals.h
@@ -24,7 +24,7 @@ extern unsigned int nf_iterate(struct list_head *head,
24 24
25/* nf_queue.c */ 25/* nf_queue.c */
26extern int nf_queue(struct sk_buff *skb, 26extern int nf_queue(struct sk_buff *skb,
27 struct list_head *elem, 27 struct nf_hook_ops *elem,
28 u_int8_t pf, unsigned int hook, 28 u_int8_t pf, unsigned int hook,
29 struct net_device *indev, 29 struct net_device *indev,
30 struct net_device *outdev, 30 struct net_device *outdev,
diff --git a/net/netfilter/nf_queue.c b/net/netfilter/nf_queue.c
index 29fe102d3436..8d2cf9ec37a8 100644
--- a/net/netfilter/nf_queue.c
+++ b/net/netfilter/nf_queue.c
@@ -118,7 +118,7 @@ static void nf_queue_entry_release_refs(struct nf_queue_entry *entry)
118 * through nf_reinject(). 118 * through nf_reinject().
119 */ 119 */
120static int __nf_queue(struct sk_buff *skb, 120static int __nf_queue(struct sk_buff *skb,
121 struct list_head *elem, 121 struct nf_hook_ops *elem,
122 u_int8_t pf, unsigned int hook, 122 u_int8_t pf, unsigned int hook,
123 struct net_device *indev, 123 struct net_device *indev,
124 struct net_device *outdev, 124 struct net_device *outdev,
@@ -155,7 +155,7 @@ static int __nf_queue(struct sk_buff *skb,
155 155
156 *entry = (struct nf_queue_entry) { 156 *entry = (struct nf_queue_entry) {
157 .skb = skb, 157 .skb = skb,
158 .elem = list_entry(elem, struct nf_hook_ops, list), 158 .elem = elem,
159 .pf = pf, 159 .pf = pf,
160 .hook = hook, 160 .hook = hook,
161 .indev = indev, 161 .indev = indev,
@@ -225,7 +225,7 @@ static void nf_bridge_adjust_segmented_data(struct sk_buff *skb)
225#endif 225#endif
226 226
227int nf_queue(struct sk_buff *skb, 227int nf_queue(struct sk_buff *skb,
228 struct list_head *elem, 228 struct nf_hook_ops *elem,
229 u_int8_t pf, unsigned int hook, 229 u_int8_t pf, unsigned int hook,
230 struct net_device *indev, 230 struct net_device *indev,
231 struct net_device *outdev, 231 struct net_device *outdev,
@@ -323,7 +323,7 @@ void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict)
323 local_bh_enable(); 323 local_bh_enable();
324 break; 324 break;
325 case NF_QUEUE: 325 case NF_QUEUE:
326 err = __nf_queue(skb, &elem->list, entry->pf, entry->hook, 326 err = __nf_queue(skb, elem, entry->pf, entry->hook,
327 entry->indev, entry->outdev, entry->okfn, 327 entry->indev, entry->outdev, entry->okfn,
328 verdict >> NF_VERDICT_QBITS); 328 verdict >> NF_VERDICT_QBITS);
329 if (err < 0) { 329 if (err < 0) {