Skip to content

Commit 6639412

Browse files
committed
netfilter: nft_payload: use __be16 to store gre version
GRE_VERSION and GRE_VERSION0 are expressed in network byte order, use __be16. Uncovered by sparse: net/netfilter/nft_payload.c:112:25: warning: incorrect type in assignment (different base types) net/netfilter/nft_payload.c:112:25: expected unsigned int [usertype] version net/netfilter/nft_payload.c:112:25: got restricted __be16 net/netfilter/nft_payload.c:114:22: warning: restricted __be16 degrades to integer Fixes: c247897 ("netfilter: nft_payload: access GRE payload via inner offset") Reported-by: Jakub Kicinski <[email protected]> Signed-off-by: Pablo Neira Ayuso <[email protected]>
1 parent 6f1a298 commit 6639412

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

net/netfilter/nft_payload.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,9 @@ static int __nft_payload_inner_offset(struct nft_pktinfo *pkt)
102102
}
103103
break;
104104
case IPPROTO_GRE: {
105-
u32 offset = sizeof(struct gre_base_hdr), version;
105+
u32 offset = sizeof(struct gre_base_hdr);
106106
struct gre_base_hdr *gre, _gre;
107+
__be16 version;
107108

108109
gre = skb_header_pointer(pkt->skb, thoff, sizeof(_gre), &_gre);
109110
if (!gre)

0 commit comments

Comments
 (0)