Commit e15b9c50 authored by Gao Feng's avatar Gao Feng Committed by Pablo Neira Ayuso

netfilter: ebt: Use new helper ebt_invalid_target to check target

Use the new helper function ebt_invalid_target instead of the old
macro INVALID_TARGET and other duplicated codes to enhance the readability.
Signed-off-by: default avatarGao Feng <gfree.wind@vip.163.com>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 7866cc57
...@@ -122,8 +122,6 @@ extern unsigned int ebt_do_table(struct sk_buff *skb, ...@@ -122,8 +122,6 @@ extern unsigned int ebt_do_table(struct sk_buff *skb,
#define BASE_CHAIN (par->hook_mask & (1 << NF_BR_NUMHOOKS)) #define BASE_CHAIN (par->hook_mask & (1 << NF_BR_NUMHOOKS))
/* Clear the bit in the hook mask that tells if the rule is on a base chain */ /* Clear the bit in the hook mask that tells if the rule is on a base chain */
#define CLEAR_BASE_CHAIN_BIT (par->hook_mask &= ~(1 << NF_BR_NUMHOOKS)) #define CLEAR_BASE_CHAIN_BIT (par->hook_mask &= ~(1 << NF_BR_NUMHOOKS))
/* True if the target is not a standard target */
#define INVALID_TARGET (info->target < -NUM_STANDARD_TARGETS || info->target >= 0)
static inline bool ebt_invalid_target(int target) static inline bool ebt_invalid_target(int target)
{ {
......
...@@ -61,7 +61,7 @@ static int ebt_dnat_tg_check(const struct xt_tgchk_param *par) ...@@ -61,7 +61,7 @@ static int ebt_dnat_tg_check(const struct xt_tgchk_param *par)
(strcmp(par->table, "broute") != 0 || (strcmp(par->table, "broute") != 0 ||
hook_mask & ~(1 << NF_BR_BROUTING))) hook_mask & ~(1 << NF_BR_BROUTING)))
return -EINVAL; return -EINVAL;
if (INVALID_TARGET) if (ebt_invalid_target(info->target))
return -EINVAL; return -EINVAL;
return 0; return 0;
} }
......
...@@ -44,7 +44,7 @@ static int ebt_mark_tg_check(const struct xt_tgchk_param *par) ...@@ -44,7 +44,7 @@ static int ebt_mark_tg_check(const struct xt_tgchk_param *par)
tmp = info->target | ~EBT_VERDICT_BITS; tmp = info->target | ~EBT_VERDICT_BITS;
if (BASE_CHAIN && tmp == EBT_RETURN) if (BASE_CHAIN && tmp == EBT_RETURN)
return -EINVAL; return -EINVAL;
if (tmp < -NUM_STANDARD_TARGETS || tmp >= 0) if (ebt_invalid_target(tmp))
return -EINVAL; return -EINVAL;
tmp = info->target & ~EBT_VERDICT_BITS; tmp = info->target & ~EBT_VERDICT_BITS;
if (tmp != MARK_SET_VALUE && tmp != MARK_OR_VALUE && if (tmp != MARK_SET_VALUE && tmp != MARK_OR_VALUE &&
......
...@@ -47,7 +47,7 @@ static int ebt_redirect_tg_check(const struct xt_tgchk_param *par) ...@@ -47,7 +47,7 @@ static int ebt_redirect_tg_check(const struct xt_tgchk_param *par)
(strcmp(par->table, "broute") != 0 || (strcmp(par->table, "broute") != 0 ||
hook_mask & ~(1 << NF_BR_BROUTING))) hook_mask & ~(1 << NF_BR_BROUTING)))
return -EINVAL; return -EINVAL;
if (INVALID_TARGET) if (ebt_invalid_target(info->target))
return -EINVAL; return -EINVAL;
return 0; return 0;
} }
......
...@@ -51,7 +51,7 @@ static int ebt_snat_tg_check(const struct xt_tgchk_param *par) ...@@ -51,7 +51,7 @@ static int ebt_snat_tg_check(const struct xt_tgchk_param *par)
if (BASE_CHAIN && tmp == EBT_RETURN) if (BASE_CHAIN && tmp == EBT_RETURN)
return -EINVAL; return -EINVAL;
if (tmp < -NUM_STANDARD_TARGETS || tmp >= 0) if (ebt_invalid_target(tmp))
return -EINVAL; return -EINVAL;
tmp = info->target | EBT_VERDICT_BITS; tmp = info->target | EBT_VERDICT_BITS;
if ((tmp & ~NAT_ARP_BIT) != ~NAT_ARP_BIT) if ((tmp & ~NAT_ARP_BIT) != ~NAT_ARP_BIT)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment