diff options
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/netfilter/nf_conntrack_proto_icmp.c | 10 | ||||
-rw-r--r-- | net/ipv4/netfilter/nf_nat_proto_icmp.c | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/net/ipv4/netfilter/nf_conntrack_proto_icmp.c b/net/ipv4/netfilter/nf_conntrack_proto_icmp.c index 17217f4f9918..6873fddb3529 100644 --- a/net/ipv4/netfilter/nf_conntrack_proto_icmp.c +++ b/net/ipv4/netfilter/nf_conntrack_proto_icmp.c | |||
@@ -26,7 +26,8 @@ static int icmp_pkt_to_tuple(const struct sk_buff *skb, | |||
26 | unsigned int dataoff, | 26 | unsigned int dataoff, |
27 | struct nf_conntrack_tuple *tuple) | 27 | struct nf_conntrack_tuple *tuple) |
28 | { | 28 | { |
29 | struct icmphdr _hdr, *hp; | 29 | const struct icmphdr *hp; |
30 | struct icmphdr _hdr; | ||
30 | 31 | ||
31 | hp = skb_header_pointer(skb, dataoff, sizeof(_hdr), &_hdr); | 32 | hp = skb_header_pointer(skb, dataoff, sizeof(_hdr), &_hdr); |
32 | if (hp == NULL) | 33 | if (hp == NULL) |
@@ -129,8 +130,8 @@ icmp_error_message(struct sk_buff *skb, | |||
129 | unsigned int hooknum) | 130 | unsigned int hooknum) |
130 | { | 131 | { |
131 | struct nf_conntrack_tuple innertuple, origtuple; | 132 | struct nf_conntrack_tuple innertuple, origtuple; |
132 | struct nf_conntrack_l4proto *innerproto; | 133 | const struct nf_conntrack_l4proto *innerproto; |
133 | struct nf_conntrack_tuple_hash *h; | 134 | const struct nf_conntrack_tuple_hash *h; |
134 | 135 | ||
135 | NF_CT_ASSERT(skb->nfct == NULL); | 136 | NF_CT_ASSERT(skb->nfct == NULL); |
136 | 137 | ||
@@ -176,7 +177,8 @@ static int | |||
176 | icmp_error(struct sk_buff *skb, unsigned int dataoff, | 177 | icmp_error(struct sk_buff *skb, unsigned int dataoff, |
177 | enum ip_conntrack_info *ctinfo, int pf, unsigned int hooknum) | 178 | enum ip_conntrack_info *ctinfo, int pf, unsigned int hooknum) |
178 | { | 179 | { |
179 | struct icmphdr _ih, *icmph; | 180 | const struct icmphdr *icmph; |
181 | struct icmphdr _ih; | ||
180 | 182 | ||
181 | /* Not enough header? */ | 183 | /* Not enough header? */ |
182 | icmph = skb_header_pointer(skb, ip_hdrlen(skb), sizeof(_ih), &_ih); | 184 | icmph = skb_header_pointer(skb, ip_hdrlen(skb), sizeof(_ih), &_ih); |
diff --git a/net/ipv4/netfilter/nf_nat_proto_icmp.c b/net/ipv4/netfilter/nf_nat_proto_icmp.c index a0e44c953cb6..03a02969aa57 100644 --- a/net/ipv4/netfilter/nf_nat_proto_icmp.c +++ b/net/ipv4/netfilter/nf_nat_proto_icmp.c | |||
@@ -57,7 +57,7 @@ icmp_manip_pkt(struct sk_buff *skb, | |||
57 | const struct nf_conntrack_tuple *tuple, | 57 | const struct nf_conntrack_tuple *tuple, |
58 | enum nf_nat_manip_type maniptype) | 58 | enum nf_nat_manip_type maniptype) |
59 | { | 59 | { |
60 | struct iphdr *iph = (struct iphdr *)(skb->data + iphdroff); | 60 | const struct iphdr *iph = (struct iphdr *)(skb->data + iphdroff); |
61 | struct icmphdr *hdr; | 61 | struct icmphdr *hdr; |
62 | unsigned int hdroff = iphdroff + iph->ihl*4; | 62 | unsigned int hdroff = iphdroff + iph->ihl*4; |
63 | 63 | ||