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 d122c53..157be1f 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);
                        }
                }