openwrt/target/linux/layerscape/patches-5.4/701-net-0063-sdk_dpaa-propagate-the-skb-ownership-information.patch

34 lines
1.1 KiB
Diff
Raw Normal View History

From 1a5fe4c83c7ba997a7fc433fcfc4818d48689ecc Mon Sep 17 00:00:00 2001
From: Madalin Bucur <madalin.bucur@nxp.com>
Date: Wed, 25 Apr 2018 18:49:32 +0300
Subject: [PATCH] sdk_dpaa: propagate the skb ownership information
Some skbs on the Tx path may be reallocated by the driver
due to insufficient headroom, in which case the socket
value gets lost.
Make sure we propagate the skb ownership information to the
new skb, since it's needed by the Tx timestamp function in
the kernel.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
---
drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c | 5 +++++
1 file changed, 5 insertions(+)
--- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c
+++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c
@@ -1113,6 +1113,11 @@ int __hot dpa_tx_extended(struct sk_buff
percpu_stats->tx_errors++;
return NETDEV_TX_OK;
}
+
+ /* propagate the skb ownership information */
+ if (skb->sk)
+ skb_set_owner_w(skb_new, skb->sk);
+
dev_kfree_skb(skb);
skb = skb_new;
}