netfilter: synproxy: fix building syncookie calls
When either CONFIG_IPV6 or CONFIG_SYN_COOKIES are disabled, the kernel
fails to build:
include/linux/netfilter_ipv6.h:180:9: error: implicit declaration of function '__cookie_v6_init_sequence'
[-Werror,-Wimplicit-function-declaration]
return __cookie_v6_init_sequence(iph, th, mssp);
include/linux/netfilter_ipv6.h:194:9: error: implicit declaration of function '__cookie_v6_check'
[-Werror,-Wimplicit-function-declaration]
return __cookie_v6_check(iph, th, cookie);
net/ipv6/netfilter.c:237:26: error: use of undeclared identifier '__cookie_v6_init_sequence'; did you mean 'cookie_init_sequence'?
net/ipv6/netfilter.c:238:21: error: use of undeclared identifier '__cookie_v6_check'; did you mean '__cookie_v4_check'?
Fix the IS_ENABLED() checks to match the function declaration
and definitions for these.
Fixes: 3006a5224f
("netfilter: synproxy: remove module dependency on IPv6 SYNPROXY")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
79ebb5bb4e
commit
8527fa6cc6
@ -163,31 +163,33 @@ static inline u32 nf_ipv6_cookie_init_sequence(const struct ipv6hdr *iph,
|
||||
const struct tcphdr *th,
|
||||
u16 *mssp)
|
||||
{
|
||||
#if IS_ENABLED(CONFIG_SYN_COOKIES)
|
||||
#if IS_MODULE(CONFIG_IPV6)
|
||||
const struct nf_ipv6_ops *v6_ops = nf_get_ipv6_ops();
|
||||
|
||||
if (v6_ops)
|
||||
return v6_ops->cookie_init_sequence(iph, th, mssp);
|
||||
|
||||
return 0;
|
||||
#else
|
||||
#elif IS_BUILTIN(CONFIG_IPV6)
|
||||
return __cookie_v6_init_sequence(iph, th, mssp);
|
||||
#endif
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int nf_cookie_v6_check(const struct ipv6hdr *iph,
|
||||
const struct tcphdr *th, __u32 cookie)
|
||||
{
|
||||
#if IS_ENABLED(CONFIG_SYN_COOKIES)
|
||||
#if IS_MODULE(CONFIG_IPV6)
|
||||
const struct nf_ipv6_ops *v6_ops = nf_get_ipv6_ops();
|
||||
|
||||
if (v6_ops)
|
||||
return v6_ops->cookie_v6_check(iph, th, cookie);
|
||||
|
||||
return 0;
|
||||
#else
|
||||
#elif IS_BUILTIN(CONFIG_IPV6)
|
||||
return __cookie_v6_check(iph, th, cookie);
|
||||
#endif
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
__sum16 nf_ip6_checksum(struct sk_buff *skb, unsigned int hook,
|
||||
|
@ -234,8 +234,10 @@ static const struct nf_ipv6_ops ipv6ops = {
|
||||
.route_me_harder = ip6_route_me_harder,
|
||||
.dev_get_saddr = ipv6_dev_get_saddr,
|
||||
.route = __nf_ip6_route,
|
||||
#if IS_ENABLED(CONFIG_SYN_COOKIES)
|
||||
.cookie_init_sequence = __cookie_v6_init_sequence,
|
||||
.cookie_v6_check = __cookie_v6_check,
|
||||
#endif
|
||||
#endif
|
||||
.route_input = ip6_route_input,
|
||||
.fragment = ip6_fragment,
|
||||
|
Loading…
Reference in New Issue
Block a user