diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig index afe50c0f526f3398e8dbf689d5905a9445448804..c37467562fd04ebd5bf7ac1a02bef56e3bd9017a 100644 --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig @@ -429,7 +429,7 @@ config NF_TABLES To compile it as a module, choose M here. config NF_TABLES_INET - depends on NF_TABLES + depends on NF_TABLES && IPV6 select NF_TABLES_IPV4 select NF_TABLES_IPV6 tristate "Netfilter nf_tables mixed IPv4/IPv6 tables support" diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index 36add31e08e7345d23894004622f59fc618bb058..117bbaaddde636a7b5cbf754012ab2f696898e71 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -859,7 +859,7 @@ static int nf_tables_newchain(struct sock *nlsk, struct sk_buff *skb, nla[NFTA_CHAIN_HOOK] == NULL) return -EOPNOTSUPP; - policy = nla_get_be32(nla[NFTA_CHAIN_POLICY]); + policy = ntohl(nla_get_be32(nla[NFTA_CHAIN_POLICY])); switch (policy) { case NF_DROP: case NF_ACCEPT: diff --git a/net/netfilter/nft_ct.c b/net/netfilter/nft_ct.c index c7c12858e1136fbb3164670a46ea46827b1ecf7b..917052e20602ea1b7cca286edfbe01e429703327 100644 --- a/net/netfilter/nft_ct.c +++ b/net/netfilter/nft_ct.c @@ -133,7 +133,9 @@ static void nft_ct_set_eval(const struct nft_expr *expr, { const struct nft_ct *priv = nft_expr_priv(expr); struct sk_buff *skb = pkt->skb; +#ifdef CONFIG_NF_CONNTRACK_MARK u32 value = data[priv->sreg].data[0]; +#endif enum ip_conntrack_info ctinfo; struct nf_conn *ct;