diff options
Diffstat (limited to 'net/ipv4/icmp.c')
-rw-r--r-- | net/ipv4/icmp.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c index 21e497efbd7f..7b88be9803b1 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c | |||
@@ -321,12 +321,12 @@ static int icmp_glue_bits(void *from, char *to, int offset, int len, int odd, | |||
321 | } | 321 | } |
322 | 322 | ||
323 | static void icmp_push_reply(struct icmp_bxm *icmp_param, | 323 | static void icmp_push_reply(struct icmp_bxm *icmp_param, |
324 | struct ipcm_cookie *ipc, struct rtable *rt) | 324 | struct ipcm_cookie *ipc, struct rtable **rt) |
325 | { | 325 | { |
326 | struct sock *sk; | 326 | struct sock *sk; |
327 | struct sk_buff *skb; | 327 | struct sk_buff *skb; |
328 | 328 | ||
329 | sk = icmp_sk(dev_net(rt->u.dst.dev)); | 329 | sk = icmp_sk(dev_net((*rt)->u.dst.dev)); |
330 | if (ip_append_data(sk, icmp_glue_bits, icmp_param, | 330 | if (ip_append_data(sk, icmp_glue_bits, icmp_param, |
331 | icmp_param->data_len+icmp_param->head_len, | 331 | icmp_param->data_len+icmp_param->head_len, |
332 | icmp_param->head_len, | 332 | icmp_param->head_len, |
@@ -392,7 +392,7 @@ static void icmp_reply(struct icmp_bxm *icmp_param, struct sk_buff *skb) | |||
392 | } | 392 | } |
393 | if (icmpv4_xrlim_allow(net, rt, icmp_param->data.icmph.type, | 393 | if (icmpv4_xrlim_allow(net, rt, icmp_param->data.icmph.type, |
394 | icmp_param->data.icmph.code)) | 394 | icmp_param->data.icmph.code)) |
395 | icmp_push_reply(icmp_param, &ipc, rt); | 395 | icmp_push_reply(icmp_param, &ipc, &rt); |
396 | ip_rt_put(rt); | 396 | ip_rt_put(rt); |
397 | out_unlock: | 397 | out_unlock: |
398 | icmp_xmit_unlock(sk); | 398 | icmp_xmit_unlock(sk); |
@@ -635,7 +635,7 @@ route_done: | |||
635 | icmp_param.data_len = room; | 635 | icmp_param.data_len = room; |
636 | icmp_param.head_len = sizeof(struct icmphdr); | 636 | icmp_param.head_len = sizeof(struct icmphdr); |
637 | 637 | ||
638 | icmp_push_reply(&icmp_param, &ipc, rt); | 638 | icmp_push_reply(&icmp_param, &ipc, &rt); |
639 | ende: | 639 | ende: |
640 | ip_rt_put(rt); | 640 | ip_rt_put(rt); |
641 | out_unlock: | 641 | out_unlock: |