diff options
Diffstat (limited to 'net/sched')
-rw-r--r-- | net/sched/act_ipt.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/net/sched/act_ipt.c b/net/sched/act_ipt.c index d1263b3c96c3..79ea19375caf 100644 --- a/net/sched/act_ipt.c +++ b/net/sched/act_ipt.c | |||
@@ -51,20 +51,12 @@ static int ipt_init_target(struct ipt_entry_target *t, char *table, unsigned int | |||
51 | t->u.kernel.target = target; | 51 | t->u.kernel.target = target; |
52 | 52 | ||
53 | ret = xt_check_target(target, AF_INET, t->u.target_size - sizeof(*t), | 53 | ret = xt_check_target(target, AF_INET, t->u.target_size - sizeof(*t), |
54 | table, hook, 0, 0); | 54 | table, hook, 0, 0, NULL, t->data); |
55 | if (ret) { | 55 | if (ret < 0) { |
56 | module_put(t->u.kernel.target->me); | 56 | module_put(t->u.kernel.target->me); |
57 | return ret; | 57 | return ret; |
58 | } | 58 | } |
59 | if (t->u.kernel.target->checkentry | 59 | return 0; |
60 | && !t->u.kernel.target->checkentry(table, NULL, | ||
61 | t->u.kernel.target, t->data, | ||
62 | hook)) { | ||
63 | module_put(t->u.kernel.target->me); | ||
64 | ret = -EINVAL; | ||
65 | } | ||
66 | |||
67 | return ret; | ||
68 | } | 60 | } |
69 | 61 | ||
70 | static void ipt_destroy_target(struct ipt_entry_target *t) | 62 | static void ipt_destroy_target(struct ipt_entry_target *t) |