netfilter: xtables: change xt_target.checkentry return type
Restore function signatures from bool to int so that we can report memory allocation failures or similar using -ENOMEM rather than always having to pass -EINVAL back. // <smpl> @@ type bool; identifier check, par; @@ -bool check +int check (struct xt_tgchk_param *par) { ... } // </smpl> Minus the change it does to xt_ct_find_proto. Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
This commit is contained in:
@@ -84,7 +84,7 @@ connsecmark_tg(struct sk_buff *skb, const struct xt_target_param *par)
|
||||
return XT_CONTINUE;
|
||||
}
|
||||
|
||||
static bool connsecmark_tg_check(const struct xt_tgchk_param *par)
|
||||
static int connsecmark_tg_check(const struct xt_tgchk_param *par)
|
||||
{
|
||||
const struct xt_connsecmark_target_info *info = par->targinfo;
|
||||
|
||||
|
@@ -53,7 +53,7 @@ static u8 xt_ct_find_proto(const struct xt_tgchk_param *par)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool xt_ct_tg_check(const struct xt_tgchk_param *par)
|
||||
static int xt_ct_tg_check(const struct xt_tgchk_param *par)
|
||||
{
|
||||
struct xt_ct_target_info *info = par->targinfo;
|
||||
struct nf_conntrack_tuple t;
|
||||
|
@@ -60,7 +60,7 @@ dscp_tg6(struct sk_buff *skb, const struct xt_target_param *par)
|
||||
return XT_CONTINUE;
|
||||
}
|
||||
|
||||
static bool dscp_tg_check(const struct xt_tgchk_param *par)
|
||||
static int dscp_tg_check(const struct xt_tgchk_param *par)
|
||||
{
|
||||
const struct xt_DSCP_info *info = par->targinfo;
|
||||
|
||||
|
@@ -101,7 +101,7 @@ hl_tg6(struct sk_buff *skb, const struct xt_target_param *par)
|
||||
return XT_CONTINUE;
|
||||
}
|
||||
|
||||
static bool ttl_tg_check(const struct xt_tgchk_param *par)
|
||||
static int ttl_tg_check(const struct xt_tgchk_param *par)
|
||||
{
|
||||
const struct ipt_TTL_info *info = par->targinfo;
|
||||
|
||||
@@ -114,7 +114,7 @@ static bool ttl_tg_check(const struct xt_tgchk_param *par)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool hl_tg6_check(const struct xt_tgchk_param *par)
|
||||
static int hl_tg6_check(const struct xt_tgchk_param *par)
|
||||
{
|
||||
const struct ip6t_HL_info *info = par->targinfo;
|
||||
|
||||
|
@@ -80,7 +80,7 @@ static void led_timeout_callback(unsigned long data)
|
||||
led_trigger_event(&ledinternal->netfilter_led_trigger, LED_OFF);
|
||||
}
|
||||
|
||||
static bool led_tg_check(const struct xt_tgchk_param *par)
|
||||
static int led_tg_check(const struct xt_tgchk_param *par)
|
||||
{
|
||||
struct xt_led_info *ledinfo = par->targinfo;
|
||||
struct xt_led_info_internal *ledinternal;
|
||||
|
@@ -37,7 +37,7 @@ nflog_tg(struct sk_buff *skb, const struct xt_target_param *par)
|
||||
return XT_CONTINUE;
|
||||
}
|
||||
|
||||
static bool nflog_tg_check(const struct xt_tgchk_param *par)
|
||||
static int nflog_tg_check(const struct xt_tgchk_param *par)
|
||||
{
|
||||
const struct xt_nflog_info *info = par->targinfo;
|
||||
|
||||
|
@@ -81,7 +81,7 @@ nfqueue_tg_v1(struct sk_buff *skb, const struct xt_target_param *par)
|
||||
return NF_QUEUE_NR(queue);
|
||||
}
|
||||
|
||||
static bool nfqueue_tg_v1_check(const struct xt_tgchk_param *par)
|
||||
static int nfqueue_tg_v1_check(const struct xt_tgchk_param *par)
|
||||
{
|
||||
const struct xt_NFQ_info_v1 *info = par->targinfo;
|
||||
u32 maxid;
|
||||
|
@@ -85,7 +85,7 @@ xt_rateest_tg(struct sk_buff *skb, const struct xt_target_param *par)
|
||||
return XT_CONTINUE;
|
||||
}
|
||||
|
||||
static bool xt_rateest_tg_checkentry(const struct xt_tgchk_param *par)
|
||||
static int xt_rateest_tg_checkentry(const struct xt_tgchk_param *par)
|
||||
{
|
||||
struct xt_rateest_target_info *info = par->targinfo;
|
||||
struct xt_rateest *est;
|
||||
|
@@ -80,7 +80,7 @@ static bool checkentry_selinux(struct xt_secmark_target_info *info)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool secmark_tg_check(const struct xt_tgchk_param *par)
|
||||
static int secmark_tg_check(const struct xt_tgchk_param *par)
|
||||
{
|
||||
struct xt_secmark_target_info *info = par->targinfo;
|
||||
|
||||
|
@@ -234,7 +234,7 @@ static inline bool find_syn_match(const struct xt_entry_match *m)
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool tcpmss_tg4_check(const struct xt_tgchk_param *par)
|
||||
static int tcpmss_tg4_check(const struct xt_tgchk_param *par)
|
||||
{
|
||||
const struct xt_tcpmss_info *info = par->targinfo;
|
||||
const struct ipt_entry *e = par->entryinfo;
|
||||
@@ -256,7 +256,7 @@ static bool tcpmss_tg4_check(const struct xt_tgchk_param *par)
|
||||
}
|
||||
|
||||
#if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE)
|
||||
static bool tcpmss_tg6_check(const struct xt_tgchk_param *par)
|
||||
static int tcpmss_tg6_check(const struct xt_tgchk_param *par)
|
||||
{
|
||||
const struct xt_tcpmss_info *info = par->targinfo;
|
||||
const struct ip6t_entry *e = par->entryinfo;
|
||||
|
@@ -59,7 +59,7 @@ tproxy_tg(struct sk_buff *skb, const struct xt_target_param *par)
|
||||
return NF_DROP;
|
||||
}
|
||||
|
||||
static bool tproxy_tg_check(const struct xt_tgchk_param *par)
|
||||
static int tproxy_tg_check(const struct xt_tgchk_param *par)
|
||||
{
|
||||
const struct ipt_ip *i = par->entryinfo;
|
||||
|
||||
|
@@ -74,7 +74,7 @@ connmark_tg(struct sk_buff *skb, const struct xt_target_param *par)
|
||||
return XT_CONTINUE;
|
||||
}
|
||||
|
||||
static bool connmark_tg_check(const struct xt_tgchk_param *par)
|
||||
static int connmark_tg_check(const struct xt_tgchk_param *par)
|
||||
{
|
||||
if (nf_ct_l3proto_try_module_get(par->family) < 0) {
|
||||
pr_info("cannot load conntrack support for proto=%u\n",
|
||||
|
Reference in New Issue
Block a user