rxrpc: Fix misplaced traceline
authorDavid Howells <dhowells@redhat.com>
Mon, 2 Sep 2019 10:34:08 +0000 (11:34 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 Sep 2019 22:24:58 +0000 (00:24 +0200)
There's a misplaced traceline in rxrpc_input_packet() which is looking at a
packet that just got released rather than the replacement packet.

Fix this by moving the traceline after the assignment that moves the new
packet pointer to the actual packet pointer.

Fixes: d0d5c0cd1e71 ("rxrpc: Use skb_unshare() rather than skb_cow_data()")
Reported-by: Hillf Danton <hdanton@sina.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rxrpc/input.c

index d122c53c869734ee00ad628fd53c3ae49d143849..157be1ff8697be438a7ee6636e37671169fff3df 100644 (file)
@@ -1262,8 +1262,8 @@ int rxrpc_input_packet(struct sock *udp_sk, struct sk_buff *skb)
 
                        if (nskb != skb) {
                                rxrpc_eaten_skb(skb, rxrpc_skb_received);
-                               rxrpc_new_skb(skb, rxrpc_skb_unshared);
                                skb = nskb;
+                               rxrpc_new_skb(skb, rxrpc_skb_unshared);
                                sp = rxrpc_skb(skb);
                        }
                }