diff options
Diffstat (limited to 'net/ipx/af_ipx.c')
-rw-r--r-- | net/ipx/af_ipx.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/net/ipx/af_ipx.c b/net/ipx/af_ipx.c index cac35a77f069..392f8bc92691 100644 --- a/net/ipx/af_ipx.c +++ b/net/ipx/af_ipx.c | |||
@@ -576,7 +576,9 @@ static struct sk_buff *ipxitf_adjust_skbuff(struct ipx_interface *intrfc, | |||
576 | skb2 = alloc_skb(len, GFP_ATOMIC); | 576 | skb2 = alloc_skb(len, GFP_ATOMIC); |
577 | if (skb2) { | 577 | if (skb2) { |
578 | skb_reserve(skb2, out_offset); | 578 | skb_reserve(skb2, out_offset); |
579 | skb2->nh.raw = skb2->h.raw = skb_put(skb2, skb->len); | 579 | skb_reset_network_header(skb2); |
580 | skb_reset_transport_header(skb2); | ||
581 | skb_put(skb2, skb->len); | ||
580 | memcpy(ipx_hdr(skb2), ipx_hdr(skb), skb->len); | 582 | memcpy(ipx_hdr(skb2), ipx_hdr(skb), skb->len); |
581 | memcpy(skb2->cb, skb->cb, sizeof(skb->cb)); | 583 | memcpy(skb2->cb, skb->cb, sizeof(skb->cb)); |
582 | } | 584 | } |
@@ -1807,8 +1809,8 @@ static int ipx_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
1807 | copied); | 1809 | copied); |
1808 | if (rc) | 1810 | if (rc) |
1809 | goto out_free; | 1811 | goto out_free; |
1810 | if (skb->tstamp.off_sec) | 1812 | if (skb->tstamp.tv64) |
1811 | skb_get_timestamp(skb, &sk->sk_stamp); | 1813 | sk->sk_stamp = skb->tstamp; |
1812 | 1814 | ||
1813 | msg->msg_namelen = sizeof(*sipx); | 1815 | msg->msg_namelen = sizeof(*sipx); |
1814 | 1816 | ||