|
@@ -320,6 +320,7 @@ static int raw_send_hdrinc(struct sock *sk, void *from, size_t length,
|
|
|
unsigned int flags)
|
|
|
{
|
|
|
struct inet_sock *inet = inet_sk(sk);
|
|
|
+ struct net *net = sock_net(sk);
|
|
|
struct iphdr *iph;
|
|
|
struct sk_buff *skb;
|
|
|
unsigned int iphlen;
|
|
@@ -368,7 +369,7 @@ static int raw_send_hdrinc(struct sock *sk, void *from, size_t length,
|
|
|
iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
|
|
|
}
|
|
|
if (iph->protocol == IPPROTO_ICMP)
|
|
|
- icmp_out_count(((struct icmphdr *)
|
|
|
+ icmp_out_count(net, ((struct icmphdr *)
|
|
|
skb_transport_header(skb))->type);
|
|
|
|
|
|
err = NF_HOOK(PF_INET, NF_INET_LOCAL_OUT, skb, NULL, rt->u.dst.dev,
|