aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/701-net-0065-sdk_dpaa-ceetm-avoid-use-after-free-scenarios.patch
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2022-03-21 01:16:48 +0000
committerDaniel Golle <daniel@makrotopia.org>2022-03-21 13:11:56 +0000
commit786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186 (patch)
tree926fecb2b1f6ce1e42ba7ef4c7aab8e68dfd214c /target/linux/layerscape/patches-5.4/701-net-0065-sdk_dpaa-ceetm-avoid-use-after-free-scenarios.patch
parent9470160c350d15f765c33d6c1db15d6c4709a64c (diff)
downloadupstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.gz
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.bz2
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.zip
kernel: delete Linux 5.4 config and patches
As the upcoming release will be based on Linux 5.10 only, remove all kernel configuration as well as patches for Linux 5.4. There were no targets still actively using Linux 5.4. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 3a14580411adfb75f9a44eded9f41245b9e44606)
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0065-sdk_dpaa-ceetm-avoid-use-after-free-scenarios.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/701-net-0065-sdk_dpaa-ceetm-avoid-use-after-free-scenarios.patch67
1 files changed, 0 insertions, 67 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0065-sdk_dpaa-ceetm-avoid-use-after-free-scenarios.patch b/target/linux/layerscape/patches-5.4/701-net-0065-sdk_dpaa-ceetm-avoid-use-after-free-scenarios.patch
deleted file mode 100644
index f3d591ec0e..0000000000
--- a/target/linux/layerscape/patches-5.4/701-net-0065-sdk_dpaa-ceetm-avoid-use-after-free-scenarios.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From fad6f73dc4367adb852ce6953f93f12cbb97b894 Mon Sep 17 00:00:00 2001
-From: Camelia Groza <camelia.groza@nxp.com>
-Date: Fri, 18 May 2018 10:33:37 +0300
-Subject: [PATCH] sdk_dpaa: ceetm: avoid use-after-free scenarios
-
-Once the pfiofo qdiscs are grafted to the netdev queues, they are destroyed
-by the kernel when required. Remove references to the pfifo qdiscs after
-grafting, in order to avoid double free scenarios.
-
-Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
----
- .../ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c | 23 +++++++++++++++++++---
- 1 file changed, 20 insertions(+), 3 deletions(-)
-
---- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c
-+++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c
-@@ -477,7 +477,9 @@ static void ceetm_destroy(struct Qdisc *
- if (!priv->root.qdiscs)
- break;
-
-- /* Remove the pfifo qdiscs */
-+ /* Destroy the pfifo qdiscs in case they haven't been attached
-+ * to the netdev queues yet.
-+ */
- for (ntx = 0; ntx < dev->num_tx_queues; ntx++)
- if (priv->root.qdiscs[ntx])
- qdisc_destroy(priv->root.qdiscs[ntx]);
-@@ -608,7 +610,16 @@ static int ceetm_init_root(struct Qdisc
- goto err_init_root;
- }
-
-- /* pre-allocate underlying pfifo qdiscs */
-+ /* Pre-allocate underlying pfifo qdiscs.
-+ *
-+ * We want to offload shaping and scheduling decisions to the hardware.
-+ * The pfifo qdiscs will be attached to the netdev queues and will
-+ * guide the traffic from the IP stack down to the driver with minimum
-+ * interference.
-+ *
-+ * The CEETM qdiscs and classes will be crossed when the traffic
-+ * reaches the driver.
-+ */
- priv->root.qdiscs = kcalloc(dev->num_tx_queues,
- sizeof(priv->root.qdiscs[0]),
- GFP_KERNEL);
-@@ -1280,7 +1291,10 @@ static int ceetm_change(struct Qdisc *sc
- return ret;
- }
-
--/* Attach the underlying pfifo qdiscs */
-+/* Graft the underlying pfifo qdiscs to the netdev queues.
-+ * It's safe to remove our references at this point, since the kernel will
-+ * destroy the qdiscs on its own and no cleanup from our part is required.
-+ */
- static void ceetm_attach(struct Qdisc *sch)
- {
- struct net_device *dev = qdisc_dev(sch);
-@@ -1296,6 +1310,9 @@ static void ceetm_attach(struct Qdisc *s
- if (old_qdisc)
- qdisc_destroy(old_qdisc);
- }
-+
-+ kfree(priv->root.qdiscs);
-+ priv->root.qdiscs = NULL;
- }
-
- static unsigned long ceetm_cls_search(struct Qdisc *sch, u32 handle)