netfilter: fix a few (harmless) sparse warnings
authorFlorian Westphal <fw@strlen.de>
Mon, 21 Aug 2017 14:19:26 +0000 (16:19 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 28 Aug 2017 15:42:56 +0000 (17:42 +0200)
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>
net/netfilter/nft_exthdr.c
net/netfilter/nft_payload.c
net/netfilter/nft_rt.c

index f5a0bf5..a0a93d9 100644 (file)
@@ -388,7 +388,7 @@ nft_exthdr_select_ops(const struct nft_ctx *ctx,
        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])
index 7d699bb..e110b0e 100644 (file)
@@ -184,7 +184,7 @@ static bool nft_payload_udp_checksum(struct sk_buff *skb, unsigned int thoff)
        if (!uh)
                return false;
 
-       return uh->check;
+       return (__force bool)uh->check;
 }
 
 static int nft_payload_l4csum_offset(const struct nft_pktinfo *pkt,
index e142e65..61fd3ac 100644 (file)
@@ -82,8 +82,8 @@ static void nft_rt_get_eval(const struct nft_expr *expr,
                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)
@@ -106,7 +106,7 @@ err:
        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 },
 };