Commit 089282fb028198169a0f62f8f833ab6d06bdbb3c

Authored by David S. Miller
1 parent 19449bfc10

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),