Commit 089282fb028198169a0f62f8f833ab6d06bdbb3c
1 parent
19449bfc10
Exists in
master
and in
39 other branches
netfilter: xt_socket: Make tproto signed in socket_mt6_v1().
Otherwise error indications from ipv6_find_hdr() won't be noticed. This required making the protocol argument to extract_icmp6_fields() signed too. Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 3 additions and 4 deletions Side-by-side Diff
net/netfilter/xt_socket.c
... | ... | @@ -195,7 +195,7 @@ |
195 | 195 | static int |
196 | 196 | extract_icmp6_fields(const struct sk_buff *skb, |
197 | 197 | unsigned int outside_hdrlen, |
198 | - u8 *protocol, | |
198 | + int *protocol, | |
199 | 199 | struct in6_addr **raddr, |
200 | 200 | struct in6_addr **laddr, |
201 | 201 | __be16 *rport, |
... | ... | @@ -252,8 +252,7 @@ |
252 | 252 | struct sock *sk; |
253 | 253 | struct in6_addr *daddr, *saddr; |
254 | 254 | __be16 dport, sport; |
255 | - int thoff; | |
256 | - u8 tproto; | |
255 | + int thoff, tproto; | |
257 | 256 | const struct xt_socket_mtinfo1 *info = (struct xt_socket_mtinfo1 *) par->matchinfo; |
258 | 257 | |
259 | 258 | tproto = ipv6_find_hdr(skb, &thoff, -1, NULL); |
... | ... | @@ -305,7 +304,7 @@ |
305 | 304 | sk = NULL; |
306 | 305 | } |
307 | 306 | |
308 | - pr_debug("proto %hhu %pI6:%hu -> %pI6:%hu " | |
307 | + pr_debug("proto %hhd %pI6:%hu -> %pI6:%hu " | |
309 | 308 | "(orig %pI6:%hu) sock %p\n", |
310 | 309 | tproto, saddr, ntohs(sport), |
311 | 310 | daddr, ntohs(dport), |