mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 02:29:01 +00:00
kernel: bump 4.19 to 4.19.77
Refreshed all patches. Remove upstreamed: - 110-ARM-zynq-Use-memcpy_toio-instead-of-memcpy.patch Compile-tested on: cns3xxx, imx6 Runtime-tested on: cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit is contained in:
parent
9b04a7576b
commit
8e197c7af2
@ -8,11 +8,11 @@ endif
|
||||
|
||||
LINUX_VERSION-4.9 = .195
|
||||
LINUX_VERSION-4.14 = .147
|
||||
LINUX_VERSION-4.19 = .76
|
||||
LINUX_VERSION-4.19 = .77
|
||||
|
||||
LINUX_KERNEL_HASH-4.9.195 = 54be562a2da16eecd612f641146dc099c1aa05c0fc559c971bdfde161c929d68
|
||||
LINUX_KERNEL_HASH-4.14.147 = 8fd793688c9d9d4e26fdc175be92b6e638b6a86f4150dd66edecebab0bb85b12
|
||||
LINUX_KERNEL_HASH-4.19.76 = ba4dd29902734b263a5197410363b17f30dc60bc999bd6ce90b6f5910b971e66
|
||||
LINUX_KERNEL_HASH-4.19.77 = 612b69cc494f2da1530bacac17291339e272cde7f2a7669e615f565506d5f3a9
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
@ -47,7 +47,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||
|
||||
struct bcm2835_dmadev {
|
||||
struct dma_device ddev;
|
||||
@@ -912,6 +914,9 @@ static int bcm2835_dma_probe(struct plat
|
||||
@@ -914,6 +916,9 @@ static int bcm2835_dma_probe(struct plat
|
||||
base = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(base))
|
||||
return PTR_ERR(base);
|
||||
@ -57,7 +57,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||
|
||||
od->base = base;
|
||||
|
||||
@@ -950,6 +955,9 @@ static int bcm2835_dma_probe(struct plat
|
||||
@@ -952,6 +957,9 @@ static int bcm2835_dma_probe(struct plat
|
||||
goto err_no_dma;
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||
/* get irqs for each channel that we support */
|
||||
for (i = 0; i <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; i++) {
|
||||
/* skip masked out channels */
|
||||
@@ -1024,6 +1032,7 @@ static int bcm2835_dma_remove(struct pla
|
||||
@@ -1026,6 +1034,7 @@ static int bcm2835_dma_remove(struct pla
|
||||
{
|
||||
struct bcm2835_dmadev *od = platform_get_drvdata(pdev);
|
||||
|
||||
@ -75,7 +75,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||
dma_async_device_unregister(&od->ddev);
|
||||
bcm2835_dma_free(od);
|
||||
|
||||
@@ -1039,7 +1048,22 @@ static struct platform_driver bcm2835_dm
|
||||
@@ -1041,7 +1050,22 @@ static struct platform_driver bcm2835_dm
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -143,7 +143,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static const struct of_device_id bcm2835_dma_of_match[] = {
|
||||
{ .compatible = "brcm,bcm2835-dma", },
|
||||
{},
|
||||
@@ -964,6 +1064,13 @@ static int bcm2835_dma_probe(struct plat
|
||||
@@ -966,6 +1066,13 @@ static int bcm2835_dma_probe(struct plat
|
||||
/* Channel 0 is used by the legacy API */
|
||||
chans_available &= ~BCM2835_DMA_BULK_MASK;
|
||||
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/mmc/host/sdhci.c
|
||||
+++ b/drivers/mmc/host/sdhci.c
|
||||
@@ -2930,6 +2930,10 @@ static irqreturn_t sdhci_irq(int irq, vo
|
||||
@@ -2932,6 +2932,10 @@ static irqreturn_t sdhci_irq(int irq, vo
|
||||
result = IRQ_WAKE_THREAD;
|
||||
}
|
||||
|
||||
|
@ -713,7 +713,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
@@ -1020,9 +1206,13 @@ static int bcm2835_dma_probe(struct plat
|
||||
@@ -1022,9 +1208,13 @@ static int bcm2835_dma_probe(struct plat
|
||||
base = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(base))
|
||||
return PTR_ERR(base);
|
||||
@ -730,7 +730,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
od->base = base;
|
||||
|
||||
@@ -1052,6 +1242,14 @@ static int bcm2835_dma_probe(struct plat
|
||||
@@ -1054,6 +1244,14 @@ static int bcm2835_dma_probe(struct plat
|
||||
|
||||
platform_set_drvdata(pdev, od);
|
||||
|
||||
@ -745,7 +745,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
/* Request DMA channel mask from device tree */
|
||||
if (of_property_read_u32(pdev->dev.of_node,
|
||||
"brcm,dma-channel-mask",
|
||||
@@ -1061,18 +1259,34 @@ static int bcm2835_dma_probe(struct plat
|
||||
@@ -1063,18 +1261,34 @@ static int bcm2835_dma_probe(struct plat
|
||||
goto err_no_dma;
|
||||
}
|
||||
|
||||
@ -788,7 +788,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
/* skip masked out channels */
|
||||
if (!(chans_available & (1 << i))) {
|
||||
irq[i] = -1;
|
||||
@@ -1095,13 +1309,17 @@ static int bcm2835_dma_probe(struct plat
|
||||
@@ -1097,13 +1311,17 @@ static int bcm2835_dma_probe(struct plat
|
||||
irq[i] = platform_get_irq(pdev, i < 11 ? i : 11);
|
||||
}
|
||||
|
||||
@ -807,7 +807,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
irq_flags = 0;
|
||||
for (j = 0; j <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; j++)
|
||||
if ((i != j) && (irq[j] == irq[i])) {
|
||||
@@ -1113,9 +1331,10 @@ static int bcm2835_dma_probe(struct plat
|
||||
@@ -1115,9 +1333,10 @@ static int bcm2835_dma_probe(struct plat
|
||||
rc = bcm2835_dma_chan_init(od, i, irq[i], irq_flags);
|
||||
if (rc)
|
||||
goto err_no_dma;
|
||||
@ -819,7 +819,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
/* Device-tree DMA controller registration */
|
||||
rc = of_dma_controller_register(pdev->dev.of_node,
|
||||
@@ -1147,6 +1366,13 @@ static int bcm2835_dma_remove(struct pla
|
||||
@@ -1149,6 +1368,13 @@ static int bcm2835_dma_remove(struct pla
|
||||
|
||||
bcm_dmaman_remove(pdev);
|
||||
dma_async_device_unregister(&od->ddev);
|
||||
|
@ -150,7 +150,7 @@ Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
|
||||
}
|
||||
|
||||
static void loop_unprepare_queue(struct loop_device *lo)
|
||||
@@ -1893,7 +1912,10 @@ static void loop_handle_cmd(struct loop_
|
||||
@@ -1894,7 +1913,10 @@ static void loop_handle_cmd(struct loop_
|
||||
failed:
|
||||
/* complete non-aio request */
|
||||
if (!cmd->use_aio || ret) {
|
||||
|
@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
device, it has to decide which ones to send first, which ones to
|
||||
--- a/net/sched/sch_api.c
|
||||
+++ b/net/sched/sch_api.c
|
||||
@@ -2159,7 +2159,7 @@ static int __init pktsched_init(void)
|
||||
@@ -2160,7 +2160,7 @@ static int __init pktsched_init(void)
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -1,35 +0,0 @@
|
||||
From a801d4aa6000f7ba0ffc5ba9d841af62ec7e0bb1 Mon Sep 17 00:00:00 2001
|
||||
From: Luis Araneda <luaraneda@gmail.com>
|
||||
Date: Tue, 30 Jul 2019 00:29:03 -0400
|
||||
Subject: [RFC PATCH] ARM: zynq: Use memcpy_toio instead of memcpy on smp bring-up
|
||||
|
||||
This fixes a kernel panic (read overflow) on memcpy when
|
||||
FORTIFY_SOURCE is enabled.
|
||||
|
||||
The computed size of memcpy args are:
|
||||
- p_size (dst): 4294967295 = (size_t) -1
|
||||
- q_size (src): 1
|
||||
- size (len): 8
|
||||
|
||||
Additionally, the memory is marked as __iomem, so one of
|
||||
the memcpy_* functions should be used for read/write
|
||||
|
||||
Signed-off-by: Luis Araneda <luaraneda@gmail.com>
|
||||
---
|
||||
As of 2019-08-03, this patch is under review and waiting
|
||||
comments from the maintainer / author
|
||||
--
|
||||
arch/arm/mach-zynq/platsmp.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm/mach-zynq/platsmp.c
|
||||
+++ b/arch/arm/mach-zynq/platsmp.c
|
||||
@@ -65,7 +65,7 @@ int zynq_cpun_start(u32 address, int cpu
|
||||
* 0x4: Jump by mov instruction
|
||||
* 0x8: Jumping address
|
||||
*/
|
||||
- memcpy((__force void *)zero, &zynq_secondary_trampoline,
|
||||
+ memcpy_toio(zero, &zynq_secondary_trampoline,
|
||||
trampoline_size);
|
||||
writel(address, zero + trampoline_size);
|
||||
|
Loading…
Reference in New Issue
Block a user