net/netfilter/nft_payload.c:187:18: warning: incorrect type in return expression (expected bool got restricted __sum16 [usertype] check)
net/netfilter/nft_exthdr.c:222:14: warning: cast to restricted __be32
net/netfilter/nft_rt.c:49:23: warning: incorrect type in assignment (different base types expected unsigned int got restricted __be32)
net/netfilter/nft_rt.c:70:25: warning: symbol 'nft_rt_policy' was not declared. Should it be static?
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        if (tb[NFTA_EXTHDR_SREG] && tb[NFTA_EXTHDR_DREG])
                return ERR_PTR(-EOPNOTSUPP);
 
-       op = ntohl(nla_get_u32(tb[NFTA_EXTHDR_OP]));
+       op = ntohl(nla_get_be32(tb[NFTA_EXTHDR_OP]));
        switch (op) {
        case NFT_EXTHDR_OP_TCPOPT:
                if (tb[NFTA_EXTHDR_SREG])
 
        if (!uh)
                return false;
 
-       return uh->check;
+       return (__force bool)uh->check;
 }
 
 static int nft_payload_l4csum_offset(const struct nft_pktinfo *pkt,
 
                if (nft_pf(pkt) != NFPROTO_IPV4)
                        goto err;
 
-               *dest = rt_nexthop((const struct rtable *)dst,
-                                  ip_hdr(skb)->daddr);
+               *dest = (__force u32)rt_nexthop((const struct rtable *)dst,
+                                               ip_hdr(skb)->daddr);
                break;
        case NFT_RT_NEXTHOP6:
                if (nft_pf(pkt) != NFPROTO_IPV6)
        regs->verdict.code = NFT_BREAK;
 }
 
-const struct nla_policy nft_rt_policy[NFTA_RT_MAX + 1] = {
+static const struct nla_policy nft_rt_policy[NFTA_RT_MAX + 1] = {
        [NFTA_RT_DREG]          = { .type = NLA_U32 },
        [NFTA_RT_KEY]           = { .type = NLA_U32 },
 };