aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-02 11:10:30 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-02 11:10:30 -0500
commit6cdd12acb6ea1ad8cd523369d1c326cc26c91ca1 (patch)
treea90d5ea27d5e6d0b3b8ad7c7ea6b231e9d6893c1
parent583243c062dae7092890d6fb803958e36da98838 (diff)
parent239a87c87660d3b97a467a661eec927f0dfa9891 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [NET_SCHED]: act_ipt: fix regression in ipt action
-rw-r--r--net/sched/act_ipt.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/net/sched/act_ipt.c b/net/sched/act_ipt.c
index a9608064a4c..01e69138578 100644
--- a/net/sched/act_ipt.c
+++ b/net/sched/act_ipt.c
@@ -55,7 +55,8 @@ static int ipt_init_target(struct ipt_entry_target *t, char *table, unsigned int
55 struct ipt_target *target; 55 struct ipt_target *target;
56 int ret = 0; 56 int ret = 0;
57 57
58 target = xt_find_target(AF_INET, t->u.user.name, t->u.user.revision); 58 target = xt_request_find_target(AF_INET, t->u.user.name,
59 t->u.user.revision);
59 if (!target) 60 if (!target)
60 return -ENOENT; 61 return -ENOENT;
61 62
@@ -63,9 +64,10 @@ static int ipt_init_target(struct ipt_entry_target *t, char *table, unsigned int
63 64
64 ret = xt_check_target(target, AF_INET, t->u.target_size - sizeof(*t), 65 ret = xt_check_target(target, AF_INET, t->u.target_size - sizeof(*t),
65 table, hook, 0, 0); 66 table, hook, 0, 0);
66 if (ret) 67 if (ret) {
68 module_put(t->u.kernel.target->me);
67 return ret; 69 return ret;
68 70 }
69 if (t->u.kernel.target->checkentry 71 if (t->u.kernel.target->checkentry
70 && !t->u.kernel.target->checkentry(table, NULL, 72 && !t->u.kernel.target->checkentry(table, NULL,
71 t->u.kernel.target, t->data, 73 t->u.kernel.target, t->data,