From: Sasha Levin Date: Thu, 27 Jun 2024 18:51:41 +0000 (-0400) Subject: Fixes for 5.15 X-Git-Tag: v4.19.317~141 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3993d6f0f5242736c3ee6c714b5f245ed261f435;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 5.15 Signed-off-by: Sasha Levin --- diff --git a/queue-5.15/cifs-fix-typo-in-module-parameter-enable_gcm_256.patch b/queue-5.15/cifs-fix-typo-in-module-parameter-enable_gcm_256.patch new file mode 100644 index 00000000000..3fac1192275 --- /dev/null +++ b/queue-5.15/cifs-fix-typo-in-module-parameter-enable_gcm_256.patch @@ -0,0 +1,37 @@ +From c32d375edee712d6d4edcae49f9db90c71fb9d68 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 19 Jun 2024 14:46:48 -0500 +Subject: cifs: fix typo in module parameter enable_gcm_256 + +From: Steve French + +[ Upstream commit 8bf0287528da1992c5e49d757b99ad6bbc34b522 ] + +enable_gcm_256 (which allows the server to require the strongest +encryption) is enabled by default, but the modinfo description +incorrectly showed it disabled by default. Fix the typo. + +Cc: stable@vger.kernel.org +Fixes: fee742b50289 ("smb3.1.1: enable negotiating stronger encryption by default") +Signed-off-by: Steve French +Signed-off-by: Sasha Levin +--- + fs/cifs/cifsfs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c +index d3adcb9e70a66..c254e714f7ceb 100644 +--- a/fs/cifs/cifsfs.c ++++ b/fs/cifs/cifsfs.c +@@ -99,7 +99,7 @@ module_param(enable_oplocks, bool, 0644); + MODULE_PARM_DESC(enable_oplocks, "Enable or disable oplocks. Default: y/Y/1"); + + module_param(enable_gcm_256, bool, 0644); +-MODULE_PARM_DESC(enable_gcm_256, "Enable requesting strongest (256 bit) GCM encryption. Default: n/N/0"); ++MODULE_PARM_DESC(enable_gcm_256, "Enable requesting strongest (256 bit) GCM encryption. Default: y/Y/0"); + + module_param(require_gcm_256, bool, 0644); + MODULE_PARM_DESC(require_gcm_256, "Require strongest (256 bit) GCM encryption. Default: n/N/0"); +-- +2.43.0 + diff --git a/queue-5.15/drm-amdgpu-fix-ubsan-warning-in-kv_dpm.c.patch b/queue-5.15/drm-amdgpu-fix-ubsan-warning-in-kv_dpm.c.patch new file mode 100644 index 00000000000..e5992ae9acb --- /dev/null +++ b/queue-5.15/drm-amdgpu-fix-ubsan-warning-in-kv_dpm.c.patch @@ -0,0 +1,36 @@ +From 8a5f7c858509a6c5bb07ce4bc35711f9a6d6d5a2 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 20 May 2024 09:05:21 -0400 +Subject: drm/amdgpu: fix UBSAN warning in kv_dpm.c + +From: Alex Deucher + +[ Upstream commit f0d576f840153392d04b2d52cf3adab8f62e8cb6 ] + +Adds bounds check for sumo_vid_mapping_entry. + +Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3392 +Reviewed-by: Mario Limonciello +Signed-off-by: Alex Deucher +Cc: stable@vger.kernel.org +Signed-off-by: Sasha Levin +--- + drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c b/drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c +index b56854c03ead6..4291bf09fc7b4 100644 +--- a/drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c ++++ b/drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c +@@ -163,6 +163,8 @@ static void sumo_construct_vid_mapping_table(struct amdgpu_device *adev, + + for (i = 0; i < SUMO_MAX_HARDWARE_POWERLEVELS; i++) { + if (table[i].ulSupportedSCLK != 0) { ++ if (table[i].usVoltageIndex >= SUMO_MAX_NUMBER_VOLTAGES) ++ continue; + vid_mapping_table->entries[table[i].usVoltageIndex].vid_7bit = + table[i].usVoltageID; + vid_mapping_table->entries[table[i].usVoltageIndex].vid_2bit = +-- +2.43.0 + diff --git a/queue-5.15/net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch b/queue-5.15/net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch new file mode 100644 index 00000000000..5761c18a569 --- /dev/null +++ b/queue-5.15/net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch @@ -0,0 +1,63 @@ +From 66d469f51f4cb2e5700cb3872bfae0cdbe124b52 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 4 Jan 2022 12:07:00 +0000 +Subject: net: mdio: add helpers to extract clause 45 regad and devad fields + +From: Russell King (Oracle) + +[ Upstream commit c6af53f038aa32cec12e8a305ba07c7ef168f1b0 ] + +Add a couple of helpers and definitions to extract the clause 45 regad +and devad fields from the regnum passed into MDIO drivers. + +Tested-by: Daniel Golle +Reviewed-by: Andrew Lunn +Signed-off-by: Russell King (Oracle) +Signed-off-by: Daniel Golle +Signed-off-by: David S. Miller +Stable-dep-of: 8851346912a1 ("net: stmmac: Assign configured channel value to EXTTS event") +Signed-off-by: Sasha Levin +--- + include/linux/mdio.h | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/include/linux/mdio.h b/include/linux/mdio.h +index 5e6dc38f418e4..3a6ff4e7284a8 100644 +--- a/include/linux/mdio.h ++++ b/include/linux/mdio.h +@@ -7,6 +7,7 @@ + #define __LINUX_MDIO_H__ + + #include ++#include + #include + + /* Or MII_ADDR_C45 into regnum for read/write on mii_bus to enable the 21 bit +@@ -14,6 +15,7 @@ + */ + #define MII_ADDR_C45 (1<<30) + #define MII_DEVADDR_C45_SHIFT 16 ++#define MII_DEVADDR_C45_MASK GENMASK(20, 16) + #define MII_REGADDR_C45_MASK GENMASK(15, 0) + + struct gpio_desc; +@@ -355,6 +357,16 @@ static inline u32 mdiobus_c45_addr(int devad, u16 regnum) + return MII_ADDR_C45 | devad << MII_DEVADDR_C45_SHIFT | regnum; + } + ++static inline u16 mdiobus_c45_regad(u32 regnum) ++{ ++ return FIELD_GET(MII_REGADDR_C45_MASK, regnum); ++} ++ ++static inline u16 mdiobus_c45_devad(u32 regnum) ++{ ++ return FIELD_GET(MII_DEVADDR_C45_MASK, regnum); ++} ++ + static inline int __mdiobus_c45_read(struct mii_bus *bus, int prtad, int devad, + u16 regnum) + { +-- +2.43.0 + diff --git a/queue-5.15/net-stmmac-assign-configured-channel-value-to-extts-.patch b/queue-5.15/net-stmmac-assign-configured-channel-value-to-extts-.patch new file mode 100644 index 00000000000..174f2b70233 --- /dev/null +++ b/queue-5.15/net-stmmac-assign-configured-channel-value-to-extts-.patch @@ -0,0 +1,66 @@ +From 4b7c95037db2f85b81287a7e8a693ed7f2d35d0b Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 18 Jun 2024 09:38:21 +0200 +Subject: net: stmmac: Assign configured channel value to EXTTS event + +From: Oleksij Rempel + +[ Upstream commit 8851346912a1fa33e7a5966fe51f07313b274627 ] + +Assign the configured channel value to the EXTTS event in the timestamp +interrupt handler. Without assigning the correct channel, applications +like ts2phc will refuse to accept the event, resulting in errors such +as: +... +ts2phc[656.834]: config item end1.ts2phc.pin_index is 0 +ts2phc[656.834]: config item end1.ts2phc.channel is 3 +ts2phc[656.834]: config item end1.ts2phc.extts_polarity is 2 +ts2phc[656.834]: config item end1.ts2phc.extts_correction is 0 +... +ts2phc[656.862]: extts on unexpected channel +ts2phc[658.141]: extts on unexpected channel +ts2phc[659.140]: extts on unexpected channel + +Fixes: f4da56529da60 ("net: stmmac: Add support for external trigger timestamping") +Cc: stable@vger.kernel.org +Signed-off-by: Oleksij Rempel +Reviewed-by: Wojciech Drewek +Link: https://lore.kernel.org/r/20240618073821.619751-1-o.rempel@pengutronix.de +Signed-off-by: Paolo Abeni +Signed-off-by: Sasha Levin +--- + drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c +index 2c6245b2281ca..0d3d7874f0fc6 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c +@@ -176,6 +176,7 @@ static void timestamp_interrupt(struct stmmac_priv *priv) + { + u32 num_snapshot, ts_status, tsync_int; + struct ptp_clock_event event; ++ u32 acr_value, channel; + unsigned long flags; + u64 ptp_time; + int i; +@@ -201,12 +202,15 @@ static void timestamp_interrupt(struct stmmac_priv *priv) + num_snapshot = (ts_status & GMAC_TIMESTAMP_ATSNS_MASK) >> + GMAC_TIMESTAMP_ATSNS_SHIFT; + ++ acr_value = readl(priv->ptpaddr + PTP_ACR); ++ channel = ilog2(FIELD_GET(PTP_ACR_MASK, acr_value)); ++ + for (i = 0; i < num_snapshot; i++) { + spin_lock_irqsave(&priv->ptp_lock, flags); + get_ptptime(priv->ptpaddr, &ptp_time); + spin_unlock_irqrestore(&priv->ptp_lock, flags); + event.type = PTP_CLOCK_EXTTS; +- event.index = 0; ++ event.index = channel; + event.timestamp = ptp_time; + ptp_clock_event(priv->ptp_clock, &event); + } +-- +2.43.0 + diff --git a/queue-5.15/series b/queue-5.15/series index fe9eaf4a374..31fc100565e 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -296,3 +296,7 @@ pinctrl-rockchip-fix-pinmux-bits-for-rk3328-gpio2-b-.patch pinctrl-rockchip-fix-pinmux-bits-for-rk3328-gpio3-b-.patch pinctrl-rockchip-use-dedicated-pinctrl-type-for-rk33.patch pinctrl-rockchip-fix-pinmux-reset-in-rockchip_pmx_se.patch +cifs-fix-typo-in-module-parameter-enable_gcm_256.patch +drm-amdgpu-fix-ubsan-warning-in-kv_dpm.c.patch +net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch +net-stmmac-assign-configured-channel-value-to-extts-.patch