aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/701-net-0338-net-dsa-felix-Fix-probing-allocation-and-cleanup-pat.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-0338-net-dsa-felix-Fix-probing-allocation-and-cleanup-pat.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-0338-net-dsa-felix-Fix-probing-allocation-and-cleanup-pat.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/701-net-0338-net-dsa-felix-Fix-probing-allocation-and-cleanup-pat.patch123
1 files changed, 0 insertions, 123 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0338-net-dsa-felix-Fix-probing-allocation-and-cleanup-pat.patch b/target/linux/layerscape/patches-5.4/701-net-0338-net-dsa-felix-Fix-probing-allocation-and-cleanup-pat.patch
deleted file mode 100644
index ec4c62a7a5..0000000000
--- a/target/linux/layerscape/patches-5.4/701-net-0338-net-dsa-felix-Fix-probing-allocation-and-cleanup-pat.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From 5ae4c4ac2d992afcf4087e5f33ad7e5f7d073fbf Mon Sep 17 00:00:00 2001
-From: Claudiu Manoil <claudiu.manoil@nxp.com>
-Date: Wed, 4 Dec 2019 14:36:09 +0200
-Subject: [PATCH] net: dsa: felix: Fix probing allocation and cleanup path
-
-dsa_switch_alloc() uses managed (devm_alloc) allocation
-to alloc 'ds'. kfree()-ing 'ds' results in memory corruption.
-kfree(ds) seems harmless on the error path, however for this
-particular device, dsa_register_swtich() deffers probing to
-allow the enetc driver to probe the master port first.
-This results in kfree(ds) being called during the first
-probing attempt of felix, followed by a NULL poiter access
-crash during enetc driver probing (when accessing its net_device).
-
-This patch fixes following crash (triggerred in the enetc driver by
-the probing routine of the felix driver):
-
-[ 3.502254] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
-[ 3.511073] Mem abort info:
-[ 3.513874] ESR = 0x96000044
-[ 3.516936] EC = 0x25: DABT (current EL), IL = 32 bits
-[ 3.522266] SET = 0, FnV = 0
-[ 3.525327] EA = 0, S1PTW = 0
-[ 3.528476] Data abort info:
-[ 3.531359] ISV = 0, ISS = 0x00000044
-[ 3.535205] CM = 0, WnR = 1
-[ 3.538182] user pgtable: 4k pages, 48-bit VAs, pgdp=00000020f612d000
-[ 3.544645] [0000000000000000] pgd=0000000000000000
-[ 3.549542] Internal error: Oops: 96000044 [#1] PREEMPT SMP
-[ 3.555128] Modules linked in:
-[ 3.558189] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.4.0-03552-gfa6e1cd69f80 #1
-[ 3.565781] Hardware name: LS1028A RDB Board (DT)
-[ 3.570496] pstate: a0000005 (NzCv daif -PAN -UAO)
-[ 3.575303] pc : enetc_pf_probe+0x784/0xba8
-[ 3.579495] lr : enetc_pf_probe+0x6e8/0xba8
-[ 3.583686] sp : ffff80001002ba90
-[ 3.587005] x29: ffff80001002ba90 x28: ffff002076130c08
-[ 3.592331] x27: 0000000000000002 x26: ffff002076130c80
-[ 3.597657] x25: ffff002076130c00 x24: ffff002076130c80
-[ 3.602982] x23: ffffb3f2ab0ec000 x22: ffff0020760d7840
-[ 3.608307] x21: ffff0020760d7000 x20: ffff002076130c00
-[ 3.613632] x19: ffff800010850000 x18: ffffffffffffffff
-[ 3.618957] x17: 000000007dee1586 x16: 00000000cb746ba4
-[ 3.624282] x15: ffffb3f2abce9908 x14: 0000000000000000
-[ 3.629608] x13: 0000000000000101 x12: 0000000000010000
-[ 3.634933] x11: 00000000ffffffff x10: ffff4c2dd0136000
-[ 3.640257] x9 : 0000000000000000 x8 : ffff002076122000
-[ 3.645582] x7 : 0000000000000000 x6 : 000000000000003f
-[ 3.650908] x5 : 0000000000000040 x4 : 0000000000000001
-[ 3.656234] x3 : ffff800010850000 x2 : ffffb3f2ab0ed868
-[ 3.661560] x1 : 0000000000000000 x0 : 00000000051ca556
-[ 3.666886] Call trace:
-[ 3.669333] enetc_pf_probe+0x784/0xba8
-[ 3.673178] local_pci_probe+0x3c/0xa0
-[ 3.676935] pci_device_probe+0x128/0x1c0
-[ 3.680954] really_probe+0x108/0x348
-[ 3.684623] driver_probe_device+0x58/0x100
-[ 3.688815] device_driver_attach+0x6c/0x90
-[ 3.693006] __driver_attach+0x84/0xc8
-[ 3.696762] bus_for_each_dev+0x74/0xc8
-[ 3.700605] driver_attach+0x20/0x28
-[ 3.704186] bus_add_driver+0x148/0x1f0
-[ 3.708029] driver_register+0x60/0x110
-[ 3.711872] __pci_register_driver+0x40/0x48
-[ 3.716153] enetc_pf_driver_init+0x20/0x28
-[ 3.720346] do_one_initcall+0x5c/0x1b0
-[ 3.724189] kernel_init_freeable+0x1a4/0x24c
-[ 3.728557] kernel_init+0x10/0x108
-[ 3.732052] ret_from_fork+0x10/0x18
-[ 3.735635] Code: f9400680 f9417ea1 91020000 b9400000 (b9000020)
-[ 3.741749] ---[ end trace c8ab43e3d33fed3f ]---
-[ 3.746396] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
-[ 3.748522] ata1: SATA link down (SStatus 0 SControl 300)
-[ 3.754077] SMP: stopping secondary CPUs
-[ 3.754082] Kernel Offset: 0x33f299c00000 from 0xffff800010000000
-[ 3.754083] PHYS_OFFSET: 0xfffff019c0000000
-[ 3.754086] CPU features: 0x0002,21806008
-[ 3.754088] Memory Limit: none
-[ 3.780794] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---
-
-As a result of the fix, struct felix allocation also needs to
-be converted to managed allocation (devm_alloc).
-
-Fixes: bb849431a970 ("net: dsa: ocelot: alloc memory for dsa switch instance")
-
-Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
----
- drivers/net/dsa/ocelot/felix.c | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
---- a/drivers/net/dsa/ocelot/felix.c
-+++ b/drivers/net/dsa/ocelot/felix.c
-@@ -485,7 +485,7 @@ static int felix_pci_probe(struct pci_de
- }
- }
-
-- felix = kzalloc(sizeof(struct felix), GFP_KERNEL);
-+ felix = devm_kzalloc(&pdev->dev, sizeof(*felix), GFP_KERNEL);
- if (!felix) {
- err = -ENOMEM;
- dev_err(&pdev->dev, "Failed to allocate driver memory\n");
-@@ -532,11 +532,9 @@ static int felix_pci_probe(struct pci_de
- return 0;
-
- err_register_ds:
-- kfree(ds);
- err_alloc_ds:
- err_alloc_irq:
- err_alloc_felix:
-- kfree(felix);
- err_dma:
- pci_disable_device(pdev);
- err_pci_enable:
-@@ -551,9 +549,6 @@ static void felix_pci_remove(struct pci_
-
- dsa_unregister_switch(felix->ds);
-
-- kfree(felix->ds);
-- kfree(felix);
--
- pci_disable_device(pdev);
- }
-