kernel: bump 5.10 to 5.10.178

Removed upstreamed:
	backport-5.10/430-v6.3-ubi-Fix-failure-attaching-when-vid_hdr-offset-equals.patch[1]

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.178&id=0279e82e148407feec88466990de14bcba9e12c0

All other patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
This commit is contained in:
John Audia 2023-04-20 08:53:55 -04:00 committed by Hauke Mehrtens
parent 3887a55909
commit 126c64df2b
19 changed files with 43 additions and 112 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-5.10 = .177
LINUX_KERNEL_HASH-5.10.177 = 9f2261fea804112dcec8fa2dcc26e9c1388aa9cb7f86e5913beb00b9b5a15571
LINUX_VERSION-5.10 = .178
LINUX_KERNEL_HASH-5.10.178 = 1acfade3715e560f00fb30615d5471e24b3940b549381558787aee9734e7a8af

View File

@ -23,7 +23,7 @@ produce a noisy warning.
xhci->quirks |= XHCI_RESET_ON_RESUME;
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -427,10 +427,14 @@ static int xhci_try_enable_msi(struct us
@@ -431,10 +431,14 @@ static int xhci_try_enable_msi(struct us
free_irq(hcd->irq, hcd);
hcd->irq = 0;

View File

@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
#ifdef CONFIG_MACB_USE_HWSTAMP
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -3824,15 +3824,15 @@ static int macb_init(struct platform_dev
@@ -3828,15 +3828,15 @@ static int macb_init(struct platform_dev
if (!(bp->caps & MACB_CAPS_USRIO_DISABLED)) {
val = 0;
if (phy_interface_mode_is_rgmii(bp->phy_interface))
@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
macb_or_gem_writel(bp, USRIO, val);
}
@@ -4350,6 +4350,13 @@ static int fu540_c000_init(struct platfo
@@ -4354,6 +4354,13 @@ static int fu540_c000_init(struct platfo
return macb_init(pdev);
}
@ -83,7 +83,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static const struct macb_config fu540_c000_config = {
.caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_JUMBO |
MACB_CAPS_GEM_HAS_PTP,
@@ -4357,12 +4364,14 @@ static const struct macb_config fu540_c0
@@ -4361,12 +4368,14 @@ static const struct macb_config fu540_c0
.clk_init = fu540_c000_clk_init,
.init = fu540_c000_init,
.jumbo_max_len = 10240,
@ -98,7 +98,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
};
static const struct macb_config sama5d3macb_config = {
@@ -4370,6 +4379,7 @@ static const struct macb_config sama5d3m
@@ -4374,6 +4383,7 @@ static const struct macb_config sama5d3m
| MACB_CAPS_USRIO_HAS_CLKEN | MACB_CAPS_USRIO_DEFAULT_IS_MII_GMII,
.clk_init = macb_clk_init,
.init = macb_init,
@ -106,7 +106,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
};
static const struct macb_config pc302gem_config = {
@@ -4377,6 +4387,7 @@ static const struct macb_config pc302gem
@@ -4381,6 +4391,7 @@ static const struct macb_config pc302gem
.dma_burst_length = 16,
.clk_init = macb_clk_init,
.init = macb_init,
@ -114,7 +114,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
};
static const struct macb_config sama5d2_config = {
@@ -4384,6 +4395,7 @@ static const struct macb_config sama5d2_
@@ -4388,6 +4399,7 @@ static const struct macb_config sama5d2_
.dma_burst_length = 16,
.clk_init = macb_clk_init,
.init = macb_init,
@ -122,7 +122,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
};
static const struct macb_config sama5d3_config = {
@@ -4393,6 +4405,7 @@ static const struct macb_config sama5d3_
@@ -4397,6 +4409,7 @@ static const struct macb_config sama5d3_
.clk_init = macb_clk_init,
.init = macb_init,
.jumbo_max_len = 10240,
@ -130,7 +130,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
};
static const struct macb_config sama5d4_config = {
@@ -4400,18 +4413,21 @@ static const struct macb_config sama5d4_
@@ -4404,18 +4417,21 @@ static const struct macb_config sama5d4_
.dma_burst_length = 4,
.clk_init = macb_clk_init,
.init = macb_init,
@ -152,7 +152,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
};
static const struct macb_config zynqmp_config = {
@@ -4422,6 +4438,7 @@ static const struct macb_config zynqmp_c
@@ -4426,6 +4442,7 @@ static const struct macb_config zynqmp_c
.clk_init = macb_clk_init,
.init = macb_init,
.jumbo_max_len = 10240,
@ -160,7 +160,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
};
static const struct macb_config zynq_config = {
@@ -4430,6 +4447,7 @@ static const struct macb_config zynq_con
@@ -4434,6 +4451,7 @@ static const struct macb_config zynq_con
.dma_burst_length = 16,
.clk_init = macb_clk_init,
.init = macb_init,
@ -168,7 +168,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
};
static const struct of_device_id macb_dt_ids[] = {
@@ -4550,6 +4568,8 @@ static int macb_probe(struct platform_de
@@ -4554,6 +4572,8 @@ static int macb_probe(struct platform_de
bp->wol |= MACB_WOL_HAS_MAGIC_PACKET;
device_set_wakeup_capable(&pdev->dev, bp->wol & MACB_WOL_HAS_MAGIC_PACKET);

View File

@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -3599,6 +3599,20 @@ static void macb_probe_queues(void __iom
@@ -3603,6 +3603,20 @@ static void macb_probe_queues(void __iom
*num_queues = hweight32(*queue_mask);
}
@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int macb_clk_init(struct platform_device *pdev, struct clk **pclk,
struct clk **hclk, struct clk **tx_clk,
struct clk **rx_clk, struct clk **tsu_clk)
@@ -4661,11 +4675,7 @@ err_out_free_netdev:
@@ -4665,11 +4679,7 @@ err_out_free_netdev:
free_netdev(dev);
err_disable_clocks:
@ -48,7 +48,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
pm_runtime_disable(&pdev->dev);
pm_runtime_set_suspended(&pdev->dev);
pm_runtime_dont_use_autosuspend(&pdev->dev);
@@ -4690,11 +4700,8 @@ static int macb_remove(struct platform_d
@@ -4694,11 +4704,8 @@ static int macb_remove(struct platform_d
pm_runtime_disable(&pdev->dev);
pm_runtime_dont_use_autosuspend(&pdev->dev);
if (!pm_runtime_suspended(&pdev->dev)) {
@ -62,7 +62,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
pm_runtime_set_suspended(&pdev->dev);
}
phylink_destroy(bp->phylink);
@@ -4873,13 +4880,10 @@ static int __maybe_unused macb_runtime_s
@@ -4877,13 +4884,10 @@ static int __maybe_unused macb_runtime_s
struct net_device *netdev = dev_get_drvdata(dev);
struct macb *bp = netdev_priv(netdev);

View File

@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -4331,8 +4331,10 @@ static int fu540_c000_clk_init(struct pl
@@ -4335,8 +4335,10 @@ static int fu540_c000_clk_init(struct pl
return err;
mgmt = devm_kzalloc(&pdev->dev, sizeof(*mgmt), GFP_KERNEL);
@ -27,7 +27,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
init.name = "sifive-gemgxl-mgmt";
init.ops = &fu540_c000_ops;
@@ -4343,16 +4345,26 @@ static int fu540_c000_clk_init(struct pl
@@ -4347,16 +4349,26 @@ static int fu540_c000_clk_init(struct pl
mgmt->hw.init = &init;
*tx_clk = devm_clk_register(&pdev->dev, &mgmt->hw);

View File

@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -4383,6 +4383,14 @@ static const struct macb_usrio_config ma
@@ -4387,6 +4387,14 @@ static const struct macb_usrio_config ma
.refclk = MACB_BIT(CLKEN),
};
@ -29,7 +29,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static const struct macb_config fu540_c000_config = {
.caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_JUMBO |
MACB_CAPS_GEM_HAS_PTP,
@@ -4476,6 +4484,14 @@ static const struct macb_config zynq_con
@@ -4480,6 +4488,14 @@ static const struct macb_config zynq_con
.usrio = &macb_default_usrio,
};
@ -44,7 +44,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static const struct of_device_id macb_dt_ids[] = {
{ .compatible = "cdns,at32ap7000-macb" },
{ .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config },
@@ -4493,6 +4509,7 @@ static const struct of_device_id macb_dt
@@ -4497,6 +4513,7 @@ static const struct of_device_id macb_dt
{ .compatible = "cdns,zynqmp-gem", .data = &zynqmp_config},
{ .compatible = "cdns,zynq-gem", .data = &zynq_config },
{ .compatible = "sifive,fu540-c000-gem", .data = &fu540_c000_config },

View File

@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -4492,6 +4492,14 @@ static const struct macb_config sama7g5_
@@ -4496,6 +4496,14 @@ static const struct macb_config sama7g5_
.usrio = &sama7g5_usrio,
};
@ -29,7 +29,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static const struct of_device_id macb_dt_ids[] = {
{ .compatible = "cdns,at32ap7000-macb" },
{ .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config },
@@ -4510,6 +4518,7 @@ static const struct of_device_id macb_dt
@@ -4514,6 +4522,7 @@ static const struct of_device_id macb_dt
{ .compatible = "cdns,zynq-gem", .data = &zynq_config },
{ .compatible = "sifive,fu540-c000-gem", .data = &fu540_c000_config },
{ .compatible = "microchip,sama7g5-gem", .data = &sama7g5_gem_config },

View File

@ -20,7 +20,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -3861,6 +3861,13 @@ static int macb_init(struct platform_dev
@@ -3865,6 +3865,13 @@ static int macb_init(struct platform_dev
return 0;
}
@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
#if defined(CONFIG_OF)
/* 1518 rounded up */
#define AT91ETHER_MAX_RBUFF_SZ 0x600
@@ -4376,13 +4383,6 @@ static int fu540_c000_init(struct platfo
@@ -4380,13 +4387,6 @@ static int fu540_c000_init(struct platfo
return macb_init(pdev);
}
@ -48,7 +48,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static const struct macb_usrio_config sama7g5_usrio = {
.mii = 0,
.rmii = 1,
@@ -4531,6 +4531,7 @@ static const struct macb_config default_
@@ -4535,6 +4535,7 @@ static const struct macb_config default_
.dma_burst_length = 16,
.clk_init = macb_clk_init,
.init = macb_init,

View File

@ -40,7 +40,7 @@ it on BCM4708 family.
/* called during probe() after chip reset completes */
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -158,6 +158,49 @@ int xhci_start(struct xhci_hcd *xhci)
@@ -159,6 +159,49 @@ int xhci_start(struct xhci_hcd *xhci)
return ret;
}
@ -90,7 +90,7 @@ it on BCM4708 family.
/*
* Reset a halted HC.
*
@@ -608,10 +651,20 @@ static int xhci_init(struct usb_hcd *hcd
@@ -612,10 +655,20 @@ static int xhci_init(struct usb_hcd *hcd
static int xhci_run_finished(struct xhci_hcd *xhci)
{
@ -114,7 +114,7 @@ it on BCM4708 family.
xhci->shared_hcd->state = HC_STATE_RUNNING;
xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
@@ -621,6 +674,10 @@ static int xhci_run_finished(struct xhci
@@ -625,6 +678,10 @@ static int xhci_run_finished(struct xhci
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
"Finished xhci_run for USB3 roothub");
return 0;

View File

@ -1,69 +0,0 @@
From 1e020e1b96afdecd20680b5b5be2a6ffc3d27628 Mon Sep 17 00:00:00 2001
From: Zhihao Cheng <chengzhihao1@huawei.com>
Date: Mon, 6 Mar 2023 09:33:08 +0800
Subject: [PATCH] ubi: Fix failure attaching when vid_hdr offset equals to
(sub)page size
Following process will make ubi attaching failed since commit
1b42b1a36fc946 ("ubi: ensure that VID header offset ... size"):
ID="0xec,0xa1,0x00,0x15" # 128M 128KB 2KB
modprobe nandsim id_bytes=$ID
flash_eraseall /dev/mtd0
modprobe ubi mtd="0,2048" # set vid_hdr offset as 2048 (one page)
(dmesg):
ubi0 error: ubi_attach_mtd_dev [ubi]: VID header offset 2048 too large.
UBI error: cannot attach mtd0
UBI error: cannot initialize UBI, error -22
Rework original solution, the key point is making sure
'vid_hdr_shift + UBI_VID_HDR_SIZE < ubi->vid_hdr_alsize',
so we should check vid_hdr_shift rather not vid_hdr_offset.
Then, ubi still support (sub)page aligined VID header offset.
Fixes: 1b42b1a36fc946 ("ubi: ensure that VID header offset ... size")
Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Tested-by: Nicolas Schichan <nschichan@freebox.fr>
Tested-by: Miquel Raynal <miquel.raynal@bootlin.com> # v5.10, v4.19
Signed-off-by: Richard Weinberger <richard@nod.at>
---
drivers/mtd/ubi/build.c | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -665,12 +665,6 @@ static int io_init(struct ubi_device *ub
ubi->ec_hdr_alsize = ALIGN(UBI_EC_HDR_SIZE, ubi->hdrs_min_io_size);
ubi->vid_hdr_alsize = ALIGN(UBI_VID_HDR_SIZE, ubi->hdrs_min_io_size);
- if (ubi->vid_hdr_offset && ((ubi->vid_hdr_offset + UBI_VID_HDR_SIZE) >
- ubi->vid_hdr_alsize)) {
- ubi_err(ubi, "VID header offset %d too large.", ubi->vid_hdr_offset);
- return -EINVAL;
- }
-
dbg_gen("min_io_size %d", ubi->min_io_size);
dbg_gen("max_write_size %d", ubi->max_write_size);
dbg_gen("hdrs_min_io_size %d", ubi->hdrs_min_io_size);
@@ -688,6 +682,21 @@ static int io_init(struct ubi_device *ub
ubi->vid_hdr_aloffset;
}
+ /*
+ * Memory allocation for VID header is ubi->vid_hdr_alsize
+ * which is described in comments in io.c.
+ * Make sure VID header shift + UBI_VID_HDR_SIZE not exceeds
+ * ubi->vid_hdr_alsize, so that all vid header operations
+ * won't access memory out of bounds.
+ */
+ if ((ubi->vid_hdr_shift + UBI_VID_HDR_SIZE) > ubi->vid_hdr_alsize) {
+ ubi_err(ubi, "Invalid VID header offset %d, VID header shift(%d)"
+ " + VID header size(%zu) > VID header aligned size(%d).",
+ ubi->vid_hdr_offset, ubi->vid_hdr_shift,
+ UBI_VID_HDR_SIZE, ubi->vid_hdr_alsize);
+ return -EINVAL;
+ }
+
/* Similar for the data offset */
ubi->leb_start = ubi->vid_hdr_offset + UBI_VID_HDR_SIZE;
ubi->leb_start = ALIGN(ubi->leb_start, ubi->min_io_size);

View File

@ -423,7 +423,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (bgmac->irq < 0)
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -4480,7 +4480,6 @@ static int macb_probe(struct platform_de
@@ -4484,7 +4484,6 @@ static int macb_probe(struct platform_de
struct net_device *dev;
struct resource *regs;
void __iomem *mem;
@ -431,7 +431,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct macb *bp;
int err, val;
@@ -4593,15 +4592,11 @@ static int macb_probe(struct platform_de
@@ -4597,15 +4596,11 @@ static int macb_probe(struct platform_de
if (bp->caps & MACB_CAPS_NEEDS_RSTONUBR)
bp->rx_intr_mask |= MACB_BIT(RXUBR);
@ -1360,7 +1360,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int irq;
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -5015,7 +5015,7 @@ int stmmac_dvr_probe(struct device *devi
@@ -5019,7 +5019,7 @@ int stmmac_dvr_probe(struct device *devi
priv->wol_irq = res->wol_irq;
priv->lpi_irq = res->lpi_irq;

View File

@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -2352,6 +2352,13 @@ config UNUSED_KSYMS_WHITELIST
@@ -2364,6 +2364,13 @@ config UNUSED_KSYMS_WHITELIST
one per line. The path can be absolute, or relative to the kernel
source tree.

View File

@ -12,7 +12,7 @@ Submitted-by: Rosen Penev <rosenp@gmail.com>
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -2384,7 +2384,7 @@ config PADATA
@@ -2396,7 +2396,7 @@ config PADATA
bool
config ASN1

View File

@ -178,7 +178,7 @@ Submitted-by: Daniel Golle <daniel@makrotopia.org>
__le64 signature;
--- a/drivers/mtd/mtdblock.c
+++ b/drivers/mtd/mtdblock.c
@@ -334,7 +334,11 @@ static void mtdblock_remove_dev(struct m
@@ -338,7 +338,11 @@ static void mtdblock_remove_dev(struct m
static struct mtd_blktrans_ops mtdblock_tr = {
.name = "mtdblock",
.major = MTD_BLOCK_MAJOR,

View File

@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1389,6 +1389,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
@@ -1401,6 +1401,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
the unaligned access emulation.
see arch/parisc/kernel/unaligned.c for reference

View File

@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1805,6 +1805,15 @@ config EMBEDDED
@@ -1817,6 +1817,15 @@ config EMBEDDED
an embedded system so certain expert options are available
for configuration.

View File

@ -29,7 +29,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -5048,6 +5048,10 @@ int stmmac_dvr_probe(struct device *devi
@@ -5052,6 +5052,10 @@ int stmmac_dvr_probe(struct device *devi
reset_control_reset(priv->plat->stmmac_rst);
}
@ -40,7 +40,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* Init MAC and get the capabilities */
ret = stmmac_hw_init(priv);
if (ret)
@@ -5262,6 +5266,7 @@ int stmmac_dvr_remove(struct device *dev
@@ -5266,6 +5270,7 @@ int stmmac_dvr_remove(struct device *dev
phylink_destroy(priv->phylink);
if (priv->plat->stmmac_rst)
reset_control_assert(priv->plat->stmmac_rst);

View File

@ -10,7 +10,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
--- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c
@@ -1966,6 +1966,13 @@ static void sfp_sm_module(struct sfp *sf
@@ -1968,6 +1968,13 @@ static void sfp_sm_module(struct sfp *sf
return;
}

View File

@ -10,7 +10,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
--- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c
@@ -413,32 +413,72 @@ static int sfp_i2c_write(struct sfp *sfp
@@ -419,32 +419,72 @@ static int sfp_i2c_write(struct sfp *sfp
return ret == ARRAY_SIZE(msgs) ? len : 0;
}