]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 6.1
authorSasha Levin <sashal@kernel.org>
Wed, 1 Feb 2023 16:41:53 +0000 (11:41 -0500)
committerSasha Levin <sashal@kernel.org>
Wed, 1 Feb 2023 16:41:53 +0000 (11:41 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
24 files changed:
queue-6.1/acpi-video-add-backlight-native-dmi-quirk-for-acer-a.patch [new file with mode: 0644]
queue-6.1/arm-dts-imx-fix-pca9547-i2c-mux-node-name.patch [new file with mode: 0644]
queue-6.1/arm-dts-vf610-fix-pca9548-i2c-mux-node-names.patch [new file with mode: 0644]
queue-6.1/arm-omap1-fix-building-gpio15xx.patch [new file with mode: 0644]
queue-6.1/arm64-dts-freescale-fix-pca954x-i2c-mux-node-names.patch [new file with mode: 0644]
queue-6.1/arm64-dts-imx8mq-thor96-fix-no-mmc-property-for-sdhc.patch [new file with mode: 0644]
queue-6.1/arm64-dts-msm8994-angler-fix-the-memory-map.patch [new file with mode: 0644]
queue-6.1/blk-cgroup-fix-missing-pd_online_fn-while-activating.patch [new file with mode: 0644]
queue-6.1/block-fix-hctx-checks-for-batch-allocation.patch [new file with mode: 0644]
queue-6.1/bpf-skip-task-with-pid-1-in-send_signal_common.patch [new file with mode: 0644]
queue-6.1/cifs-fix-return-of-uninitialized-rc-in-dfs_cache_upd.patch [new file with mode: 0644]
queue-6.1/dmaengine-imx-sdma-fix-a-possible-memory-leak-in-sdm.patch [new file with mode: 0644]
queue-6.1/erofs-clean-up-parsing-of-fscache-related-options.patch [new file with mode: 0644]
queue-6.1/erofs-zmap.c-fix-incorrect-offset-calculation.patch [new file with mode: 0644]
queue-6.1/firmware-arm_scmi-clear-stale-xfer-hdr.status.patch [new file with mode: 0644]
queue-6.1/gpiolib-acpi-allow-ignoring-wake-capability-on-pins-.patch [new file with mode: 0644]
queue-6.1/hid-playstation-sanity-check-dualsense-calibration-d.patch [new file with mode: 0644]
queue-6.1/hid-uclogic-add-support-for-xp-pen-deco-01-v2.patch [new file with mode: 0644]
queue-6.1/kselftest-fix-error-message-for-unconfigured-llvm-bu.patch [new file with mode: 0644]
queue-6.1/loongarch-get-frame-info-in-unwind_start-when-regs-i.patch [new file with mode: 0644]
queue-6.1/mac80211-fix-mlo-address-translation-for-multiple-bs.patch [new file with mode: 0644]
queue-6.1/nvme-apple-only-reset-the-controller-when-rtkit-is-r.patch [new file with mode: 0644]
queue-6.1/s390-workaround-invalid-gcc-11-out-of-bounds-read-wa.patch [new file with mode: 0644]
queue-6.1/series [new file with mode: 0644]

diff --git a/queue-6.1/acpi-video-add-backlight-native-dmi-quirk-for-acer-a.patch b/queue-6.1/acpi-video-add-backlight-native-dmi-quirk-for-acer-a.patch
new file mode 100644 (file)
index 0000000..26227f9
--- /dev/null
@@ -0,0 +1,45 @@
+From 91d2443f3f15475f39b32d65f04d6d528131081a Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 13 Jan 2023 12:41:26 +0100
+Subject: ACPI: video: Add backlight=native DMI quirk for Acer Aspire 4810T
+
+From: Hans de Goede <hdegoede@redhat.com>
+
+[ Upstream commit 8ba5fc4c154aeb3b4620f05543cce426c62ed2de ]
+
+The Acer Aspire 4810T predates Windows 8, so it defaults to using
+acpi_video# for backlight control, but this is non functional on
+this model.
+
+Add a DMI quirk to use the native backlight interface which does
+work properly.
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/acpi/video_detect.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
+index 5c32b318c173..b48f85c3791e 100644
+--- a/drivers/acpi/video_detect.c
++++ b/drivers/acpi/video_detect.c
+@@ -493,6 +493,14 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
+               DMI_MATCH(DMI_PRODUCT_NAME, "Precision 7510"),
+               },
+       },
++      {
++       .callback = video_detect_force_native,
++       /* Acer Aspire 4810T */
++       .matches = {
++              DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
++              DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 4810T"),
++              },
++      },
+       {
+        .callback = video_detect_force_native,
+        /* Acer Aspire 5738z */
+-- 
+2.39.0
+
diff --git a/queue-6.1/arm-dts-imx-fix-pca9547-i2c-mux-node-name.patch b/queue-6.1/arm-dts-imx-fix-pca9547-i2c-mux-node-name.patch
new file mode 100644 (file)
index 0000000..8612642
--- /dev/null
@@ -0,0 +1,43 @@
+From c2af937e65d567ba463d1076b5c4205dcd2f5e0c Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 2 Dec 2022 17:49:18 +0100
+Subject: ARM: dts: imx: Fix pca9547 i2c-mux node name
+
+From: Geert Uytterhoeven <geert+renesas@glider.be>
+
+[ Upstream commit f78985f9f58380eec37f82c8a2c765aa7670fc29 ]
+
+"make dtbs_check":
+
+    arch/arm/boot/dts/imx53-ppd.dtb: i2c-switch@70: $nodename:0: 'i2c-switch@70' does not match '^(i2c-?)?mux'
+           From schema: Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
+    arch/arm/boot/dts/imx53-ppd.dtb: i2c-switch@70: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'i2c@0', 'i2c@1', 'i2c@2', 'i2c@3', 'i2c@4', 'i2c@5', 'i2c@6', 'i2c@7' were unexpected)
+           From schema: Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
+
+Fix this by renaming the PCA9547 node to "i2c-mux", to match the I2C bus
+multiplexer/switch DT bindings and the Generic Names Recommendation in
+the Devicetree Specification.
+
+Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/arm/boot/dts/imx53-ppd.dts | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/boot/dts/imx53-ppd.dts b/arch/arm/boot/dts/imx53-ppd.dts
+index 37d0cffea99c..70c4a4852256 100644
+--- a/arch/arm/boot/dts/imx53-ppd.dts
++++ b/arch/arm/boot/dts/imx53-ppd.dts
+@@ -488,7 +488,7 @@ &i2c1 {
+       scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
+       status = "okay";
+-      i2c-switch@70 {
++      i2c-mux@70 {
+               compatible = "nxp,pca9547";
+               #address-cells = <1>;
+               #size-cells = <0>;
+-- 
+2.39.0
+
diff --git a/queue-6.1/arm-dts-vf610-fix-pca9548-i2c-mux-node-names.patch b/queue-6.1/arm-dts-vf610-fix-pca9548-i2c-mux-node-names.patch
new file mode 100644 (file)
index 0000000..8546322
--- /dev/null
@@ -0,0 +1,58 @@
+From ae8e10fbeefb199c73ac0664300bda7cda1d3491 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 2 Dec 2022 17:49:21 +0100
+Subject: ARM: dts: vf610: Fix pca9548 i2c-mux node names
+
+From: Geert Uytterhoeven <geert+renesas@glider.be>
+
+[ Upstream commit 42825d1f269355d63554ab3c3762611e4d8053e9 ]
+
+"make dtbs_check":
+
+    arch/arm/boot/dts/vf610-zii-dev-rev-b.dtb: tca9548@70: $nodename:0: 'tca9548@70' does not match '^(i2c-?)?mux'
+           From schema: Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
+    arch/arm/boot/dts/vf610-zii-dev-rev-b.dtb: tca9548@70: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'i2c@0', 'i2c@1', 'i2c@2', 'i2c@3', 'i2c@4' were unexpected)
+           From schema: /scratch/geert/linux/linux-renesas/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
+    ...
+
+Fix this by renaming PCA9548 nodes to "i2c-mux", to match the I2C bus
+multiplexer/switch DT bindings and the Generic Names Recommendation in
+the Devicetree Specification.
+
+Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/arm/boot/dts/vf610-zii-dev-rev-b.dts | 2 +-
+ arch/arm/boot/dts/vf610-zii-dev-rev-c.dts | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts b/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts
+index 42ed4a04a12e..6280c5e86a12 100644
+--- a/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts
++++ b/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts
+@@ -345,7 +345,7 @@ gpio6: io-expander@22 {
+ };
+ &i2c2 {
+-      tca9548@70 {
++      i2c-mux@70 {
+               compatible = "nxp,pca9548";
+               pinctrl-0 = <&pinctrl_i2c_mux_reset>;
+               pinctrl-names = "default";
+diff --git a/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts b/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts
+index de79dcfd32e6..ba2001f37315 100644
+--- a/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts
++++ b/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts
+@@ -340,7 +340,7 @@ eeprom@50 {
+ };
+ &i2c2 {
+-      tca9548@70 {
++      i2c-mux@70 {
+               compatible = "nxp,pca9548";
+               pinctrl-0 = <&pinctrl_i2c_mux_reset>;
+               pinctrl-names = "default";
+-- 
+2.39.0
+
diff --git a/queue-6.1/arm-omap1-fix-building-gpio15xx.patch b/queue-6.1/arm-omap1-fix-building-gpio15xx.patch
new file mode 100644 (file)
index 0000000..58e981d
--- /dev/null
@@ -0,0 +1,45 @@
+From fc98eac7422e4929caa8c7268e206d5e3e17b12c Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 13 Dec 2022 22:06:49 +0100
+Subject: ARM: omap1: fix building gpio15xx
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+[ Upstream commit 9d46ce57f4d1c626bb48170226ea5e35deb5877c ]
+
+In some randconfig builds, the asm/irq.h header is not included
+in gpio15xx.c, so add an explicit include to avoid a build fialure:
+
+In file included from arch/arm/mach-omap1/gpio15xx.c:15:
+arch/arm/mach-omap1/irqs.h:99:34: error: 'NR_IRQS_LEGACY' undeclared here (not in a function)
+   99 | #define IH2_BASE                (NR_IRQS_LEGACY + 32)
+      |                                  ^~~~~~~~~~~~~~
+arch/arm/mach-omap1/irqs.h:105:38: note: in expansion of macro 'IH2_BASE'
+  105 | #define INT_MPUIO               (5 + IH2_BASE)
+      |                                      ^~~~~~~~
+arch/arm/mach-omap1/gpio15xx.c:28:27: note: in expansion of macro 'INT_MPUIO'
+   28 |                 .start  = INT_MPUIO,
+      |                           ^~~~~~~~~
+
+Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi>
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/arm/mach-omap1/gpio15xx.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/arm/mach-omap1/gpio15xx.c b/arch/arm/mach-omap1/gpio15xx.c
+index c675f11de99d..61fa26efd865 100644
+--- a/arch/arm/mach-omap1/gpio15xx.c
++++ b/arch/arm/mach-omap1/gpio15xx.c
+@@ -11,6 +11,7 @@
+ #include <linux/gpio.h>
+ #include <linux/platform_data/gpio-omap.h>
+ #include <linux/soc/ti/omap1-soc.h>
++#include <asm/irq.h>
+ #include "irqs.h"
+-- 
+2.39.0
+
diff --git a/queue-6.1/arm64-dts-freescale-fix-pca954x-i2c-mux-node-names.patch b/queue-6.1/arm64-dts-freescale-fix-pca954x-i2c-mux-node-names.patch
new file mode 100644 (file)
index 0000000..0053031
--- /dev/null
@@ -0,0 +1,207 @@
+From 537bfc262a5ba4093285e74ef0f9934cb2c6bf3e Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 2 Dec 2022 17:49:22 +0100
+Subject: arm64: dts: freescale: Fix pca954x i2c-mux node names
+
+From: Geert Uytterhoeven <geert+renesas@glider.be>
+
+[ Upstream commit b025b4f5c288e29bbea421613a5b4eacf9261fbb ]
+
+"make dtbs_check":
+
+    arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dtb: pca9547@77: $nodename:0: 'pca9547@77' does not match '^(i2c-?)?mux'
+           From schema: Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
+    arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dtb: pca9547@77: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'i2c@4' were unexpected)
+           From schema: Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
+    ...
+
+Fix this by renaming PCA954x nodes to "i2c-mux", to match the I2C bus
+multiplexer/switch DT bindings and the Generic Names Recommendation in
+the Devicetree Specification.
+
+Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts    | 2 +-
+ arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts    | 2 +-
+ arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts    | 2 +-
+ arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts    | 2 +-
+ arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts    | 2 +-
+ arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts  | 2 +-
+ arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi   | 2 +-
+ arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi   | 2 +-
+ arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi  | 2 +-
+ arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dts | 2 +-
+ arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts    | 4 ++--
+ arch/arm64/boot/dts/freescale/imx8qxp-mek.dts        | 2 +-
+ 12 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts
+index 5a8d85a7d161..bbdf989058ff 100644
+--- a/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts
++++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts
+@@ -110,7 +110,7 @@ &esdhc1 {
+ &i2c0 {
+       status = "okay";
+-      pca9547@77 {
++      i2c-mux@77 {
+               compatible = "nxp,pca9547";
+               reg = <0x77>;
+               #address-cells = <1>;
+diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
+index 9b726c2a4842..dda27ed7aaf2 100644
+--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
++++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
+@@ -89,7 +89,7 @@ fpga: board-control@2,0 {
+ &i2c0 {
+       status = "okay";
+-      pca9547@77 {
++      i2c-mux@77 {
+               compatible = "nxp,pca9547";
+               reg = <0x77>;
+               #address-cells = <1>;
+diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
+index b2fcbba60d3a..3b0ed9305f2b 100644
+--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
++++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
+@@ -88,7 +88,7 @@ &duart1 {
+ &i2c0 {
+       status = "okay";
+-      pca9547@77 {
++      i2c-mux@77 {
+               compatible = "nxp,pca9547";
+               reg = <0x77>;
+               #address-cells = <1>;
+diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts
+index 41d8b15f25a5..aa52ff73ff9e 100644
+--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts
++++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts
+@@ -53,7 +53,7 @@ flash@2 {
+ &i2c0 {
+       status = "okay";
+-      i2c-switch@77 {
++      i2c-mux@77 {
+               compatible = "nxp,pca9547";
+               reg = <0x77>;
+               #address-cells = <1>;
+diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts
+index 1bfbce69cc8b..ee8e932628d1 100644
+--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts
++++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts
+@@ -136,7 +136,7 @@ mdio2_aquantia_phy: ethernet-phy@0 {
+ &i2c0 {
+       status = "okay";
+-      i2c-switch@77 {
++      i2c-mux@77 {
+               compatible = "nxp,pca9547";
+               reg = <0x77>;
+               #address-cells = <1>;
+diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts b/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
+index ef6c8967533e..d4867d6cf47c 100644
+--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
++++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts
+@@ -245,7 +245,7 @@ rx8035: rtc@32 {
+ &i2c3 {
+       status = "okay";
+-      i2c-switch@70 {
++      i2c-mux@70 {
+               compatible = "nxp,pca9540";
+               #address-cells = <1>;
+               #size-cells = <0>;
+diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi
+index f598669e742f..52c5a43b30a0 100644
+--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi
++++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi
+@@ -103,7 +103,7 @@ mdio0_phy15: mdio-phy3@1f {
+ &i2c0 {
+       status = "okay";
+-      pca9547@77 {
++      i2c-mux@77 {
+               compatible = "nxp,pca9547";
+               reg = <0x77>;
+               #address-cells = <1>;
+diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
+index 3d9647b3da14..537cecb13dd0 100644
+--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
++++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
+@@ -44,7 +44,7 @@ cpld@3,0 {
+ &i2c0 {
+       status = "okay";
+-      pca9547@75 {
++      i2c-mux@75 {
+               compatible = "nxp,pca9547";
+               reg = <0x75>;
+               #address-cells = <1>;
+diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
+index afb455210bd0..d32a52ab00a4 100644
+--- a/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
++++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
+@@ -54,7 +54,7 @@ &esdhc1 {
+ &i2c0 {
+       status = "okay";
+-      i2c-switch@77 {
++      i2c-mux@77 {
+               compatible = "nxp,pca9547";
+               #address-cells = <1>;
+               #size-cells = <0>;
+diff --git a/arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dts b/arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dts
+index 74c09891600f..6357078185ed 100644
+--- a/arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dts
++++ b/arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dts
+@@ -214,7 +214,7 @@ &i2c3 {
+       pinctrl-0 = <&pinctrl_i2c3>;
+       status = "okay";
+-      i2cmux@70 {
++      i2c-mux@70 {
+               compatible = "nxp,pca9540";
+               reg = <0x70>;
+               #address-cells = <1>;
+diff --git a/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts b/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
+index 9dda2a1554c3..8614c18b5998 100644
+--- a/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
++++ b/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
+@@ -133,7 +133,7 @@ &i2c1 {
+       pinctrl-0 = <&pinctrl_i2c1>;
+       status = "okay";
+-      i2cmux@70 {
++      i2c-mux@70 {
+               compatible = "nxp,pca9546";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c1_pca9546>;
+@@ -216,7 +216,7 @@ &i2c4 {
+       pinctrl-0 = <&pinctrl_i2c4>;
+       status = "okay";
+-      pca9546: i2cmux@70 {
++      pca9546: i2c-mux@70 {
+               compatible = "nxp,pca9546";
+               reg = <0x70>;
+               #address-cells = <1>;
+diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
+index 07d8dd8160f6..afa883389456 100644
+--- a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
++++ b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
+@@ -61,7 +61,7 @@ &i2c1 {
+       pinctrl-0 = <&pinctrl_lpi2c1 &pinctrl_ioexp_rst>;
+       status = "okay";
+-      i2c-switch@71 {
++      i2c-mux@71 {
+               compatible = "nxp,pca9646", "nxp,pca9546";
+               #address-cells = <1>;
+               #size-cells = <0>;
+-- 
+2.39.0
+
diff --git a/queue-6.1/arm64-dts-imx8mq-thor96-fix-no-mmc-property-for-sdhc.patch b/queue-6.1/arm64-dts-imx8mq-thor96-fix-no-mmc-property-for-sdhc.patch
new file mode 100644 (file)
index 0000000..834db55
--- /dev/null
@@ -0,0 +1,44 @@
+From f5c82a6cc9fceb966af709894f90a1a5917e4a7c Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sun, 4 Dec 2022 10:44:17 +0100
+Subject: arm64: dts: imx8mq-thor96: fix no-mmc property for SDHCI
+
+From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+
+[ Upstream commit ef10d57936ead5e817ef7cea6a87531085e77773 ]
+
+There is no "no-emmc" property, so intention for SD/SDIO only nodes was
+to use "no-mmc".
+
+Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/arm64/boot/dts/freescale/imx8mq-thor96.dts | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/freescale/imx8mq-thor96.dts b/arch/arm64/boot/dts/freescale/imx8mq-thor96.dts
+index 5d5aa6537225..6e6182709d22 100644
+--- a/arch/arm64/boot/dts/freescale/imx8mq-thor96.dts
++++ b/arch/arm64/boot/dts/freescale/imx8mq-thor96.dts
+@@ -339,7 +339,7 @@ &usdhc1 {
+       bus-width = <4>;
+       non-removable;
+       no-sd;
+-      no-emmc;
++      no-mmc;
+       status = "okay";
+       brcmf: wifi@1 {
+@@ -359,7 +359,7 @@ &usdhc2 {
+       cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
+       bus-width = <4>;
+       no-sdio;
+-      no-emmc;
++      no-mmc;
+       disable-wp;
+       status = "okay";
+ };
+-- 
+2.39.0
+
diff --git a/queue-6.1/arm64-dts-msm8994-angler-fix-the-memory-map.patch b/queue-6.1/arm64-dts-msm8994-angler-fix-the-memory-map.patch
new file mode 100644 (file)
index 0000000..7bd02ce
--- /dev/null
@@ -0,0 +1,63 @@
+From e6c31f800b56fb806bab9d072ef9cd490a13ebc4 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 30 Dec 2022 20:48:45 +0100
+Subject: arm64: dts: msm8994-angler: fix the memory map
+
+From: Dominik Kobinski <dominikkobinski314@gmail.com>
+
+[ Upstream commit 380cd3a34b7f9825a60ccb045611af9cb4533b70 ]
+
+Add reserved regions for memory hole and tz app mem to prevent
+rebooting. Also enable cont_splash_mem, it is the same as the
+generic 8994 one.
+
+Reported-by: Petr Vorel <petr.vorel@gmail.com>
+Signed-off-by: Dominik Kobinski <dominikkobinski314@gmail.com>
+Reviewed-by: Petr Vorel <petr.vorel@gmail.com>
+Signed-off-by: Bjorn Andersson <andersson@kernel.org>
+Link: https://lore.kernel.org/r/20221230194845.57780-1-dominikkobinski314@gmail.com
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ .../qcom/msm8994-huawei-angler-rev-101.dts    | 19 ++++++++++++++++---
+ 1 file changed, 16 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/qcom/msm8994-huawei-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-huawei-angler-rev-101.dts
+index dbfbb77e9ff5..7e2c0dcc11ab 100644
+--- a/arch/arm64/boot/dts/qcom/msm8994-huawei-angler-rev-101.dts
++++ b/arch/arm64/boot/dts/qcom/msm8994-huawei-angler-rev-101.dts
+@@ -8,9 +8,6 @@
+ #include "msm8994.dtsi"
+-/* Angler's firmware does not report where the memory is allocated */
+-/delete-node/ &cont_splash_mem;
+-
+ / {
+       model = "Huawei Nexus 6P";
+       compatible = "huawei,angler", "qcom,msm8994";
+@@ -27,6 +24,22 @@ aliases {
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
++
++      reserved-memory {
++              #address-cells = <2>;
++              #size-cells = <2>;
++              ranges;
++
++              tzapp_mem: tzapp@4800000 {
++                      reg = <0 0x04800000 0 0x1900000>;
++                      no-map;
++              };
++
++              removed_region: reserved@6300000 {
++                      reg = <0 0x06300000 0 0xD00000>;
++                      no-map;
++              };
++      };
+ };
+ &blsp1_uart2 {
+-- 
+2.39.0
+
diff --git a/queue-6.1/blk-cgroup-fix-missing-pd_online_fn-while-activating.patch b/queue-6.1/blk-cgroup-fix-missing-pd_online_fn-while-activating.patch
new file mode 100644 (file)
index 0000000..05c1a2d
--- /dev/null
@@ -0,0 +1,39 @@
+From e73368ff6931de289f4044d53995a655ba656e86 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 3 Jan 2023 19:28:33 +0800
+Subject: blk-cgroup: fix missing pd_online_fn() while activating policy
+
+From: Yu Kuai <yukuai3@huawei.com>
+
+[ Upstream commit e3ff8887e7db757360f97634e0d6f4b8e27a8c46 ]
+
+If the policy defines pd_online_fn(), it should be called after
+pd_init_fn(), like blkg_create().
+
+Signed-off-by: Yu Kuai <yukuai3@huawei.com>
+Acked-by: Tejun Heo <tj@kernel.org>
+Link: https://lore.kernel.org/r/20230103112833.2013432-1-yukuai1@huaweicloud.com
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ block/blk-cgroup.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
+index fcf9cf49f5de..7c91d9195da8 100644
+--- a/block/blk-cgroup.c
++++ b/block/blk-cgroup.c
+@@ -1408,6 +1408,10 @@ int blkcg_activate_policy(struct request_queue *q,
+               list_for_each_entry_reverse(blkg, &q->blkg_list, q_node)
+                       pol->pd_init_fn(blkg->pd[pol->plid]);
++      if (pol->pd_online_fn)
++              list_for_each_entry_reverse(blkg, &q->blkg_list, q_node)
++                      pol->pd_online_fn(blkg->pd[pol->plid]);
++
+       __set_bit(pol->plid, q->blkcg_pols);
+       ret = 0;
+-- 
+2.39.0
+
diff --git a/queue-6.1/block-fix-hctx-checks-for-batch-allocation.patch b/queue-6.1/block-fix-hctx-checks-for-batch-allocation.patch
new file mode 100644 (file)
index 0000000..904bcba
--- /dev/null
@@ -0,0 +1,53 @@
+From b0556c1b65b326c8cf82fdb5d7bacc6a44e57de9 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 17 Jan 2023 11:42:15 +0000
+Subject: block: fix hctx checks for batch allocation
+
+From: Pavel Begunkov <asml.silence@gmail.com>
+
+[ Upstream commit 7746564793978fe2f43b18a302b22dca0ad3a0e8 ]
+
+When there are no read queues read requests will be assigned a
+default queue on allocation. However, blk_mq_get_cached_request() is not
+prepared for that and will fail all attempts to grab read requests from
+the cache. Worst case it doubles the number of requests allocated,
+roughly half of which will be returned by blk_mq_free_plug_rqs().
+
+It only affects batched allocations and so is io_uring specific.
+For reference, QD8 t/io_uring benchmark improves by 20-35%.
+
+Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
+Link: https://lore.kernel.org/r/80d4511011d7d4751b4cf6375c4e38f237d935e3.1673955390.git.asml.silence@gmail.com
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ block/blk-mq.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/block/blk-mq.c b/block/blk-mq.c
+index 63abbe342b28..83fbc7c54617 100644
+--- a/block/blk-mq.c
++++ b/block/blk-mq.c
+@@ -2858,6 +2858,7 @@ static inline struct request *blk_mq_get_cached_request(struct request_queue *q,
+               struct blk_plug *plug, struct bio **bio, unsigned int nsegs)
+ {
+       struct request *rq;
++      enum hctx_type type, hctx_type;
+       if (!plug)
+               return NULL;
+@@ -2870,7 +2871,10 @@ static inline struct request *blk_mq_get_cached_request(struct request_queue *q,
+               return NULL;
+       }
+-      if (blk_mq_get_hctx_type((*bio)->bi_opf) != rq->mq_hctx->type)
++      type = blk_mq_get_hctx_type((*bio)->bi_opf);
++      hctx_type = rq->mq_hctx->type;
++      if (type != hctx_type &&
++          !(type == HCTX_TYPE_READ && hctx_type == HCTX_TYPE_DEFAULT))
+               return NULL;
+       if (op_is_flush(rq->cmd_flags) != op_is_flush((*bio)->bi_opf))
+               return NULL;
+-- 
+2.39.0
+
diff --git a/queue-6.1/bpf-skip-task-with-pid-1-in-send_signal_common.patch b/queue-6.1/bpf-skip-task-with-pid-1-in-send_signal_common.patch
new file mode 100644 (file)
index 0000000..da1e527
--- /dev/null
@@ -0,0 +1,61 @@
+From bbcaa60e8bd30db9ddee7af325e45ff27f70d5ab Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 6 Jan 2023 16:48:38 +0800
+Subject: bpf: Skip task with pid=1 in send_signal_common()
+
+From: Hao Sun <sunhao.th@gmail.com>
+
+[ Upstream commit a3d81bc1eaef48e34dd0b9b48eefed9e02a06451 ]
+
+The following kernel panic can be triggered when a task with pid=1 attaches
+a prog that attempts to send killing signal to itself, also see [1] for more
+details:
+
+  Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
+  CPU: 3 PID: 1 Comm: systemd Not tainted 6.1.0-09652-g59fe41b5255f #148
+  Call Trace:
+  <TASK>
+  __dump_stack lib/dump_stack.c:88 [inline]
+  dump_stack_lvl+0x100/0x178 lib/dump_stack.c:106
+  panic+0x2c4/0x60f kernel/panic.c:275
+  do_exit.cold+0x63/0xe4 kernel/exit.c:789
+  do_group_exit+0xd4/0x2a0 kernel/exit.c:950
+  get_signal+0x2460/0x2600 kernel/signal.c:2858
+  arch_do_signal_or_restart+0x78/0x5d0 arch/x86/kernel/signal.c:306
+  exit_to_user_mode_loop kernel/entry/common.c:168 [inline]
+  exit_to_user_mode_prepare+0x15f/0x250 kernel/entry/common.c:203
+  __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]
+  syscall_exit_to_user_mode+0x1d/0x50 kernel/entry/common.c:296
+  do_syscall_64+0x44/0xb0 arch/x86/entry/common.c:86
+  entry_SYSCALL_64_after_hwframe+0x63/0xcd
+
+So skip task with pid=1 in bpf_send_signal_common() to avoid the panic.
+
+  [1] https://lore.kernel.org/bpf/20221222043507.33037-1-sunhao.th@gmail.com
+
+Signed-off-by: Hao Sun <sunhao.th@gmail.com>
+Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
+Acked-by: Stanislav Fomichev <sdf@google.com>
+Link: https://lore.kernel.org/bpf/20230106084838.12690-1-sunhao.th@gmail.com
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ kernel/trace/bpf_trace.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
+index 1ed08967fb97..eb8c117cc8b6 100644
+--- a/kernel/trace/bpf_trace.c
++++ b/kernel/trace/bpf_trace.c
+@@ -847,6 +847,9 @@ static int bpf_send_signal_common(u32 sig, enum pid_type type)
+               return -EPERM;
+       if (unlikely(!nmi_uaccess_okay()))
+               return -EPERM;
++      /* Task should not be pid=1 to avoid kernel panic. */
++      if (unlikely(is_global_init(current)))
++              return -EPERM;
+       if (irqs_disabled()) {
+               /* Do an early check on signal validity. Otherwise,
+-- 
+2.39.0
+
diff --git a/queue-6.1/cifs-fix-return-of-uninitialized-rc-in-dfs_cache_upd.patch b/queue-6.1/cifs-fix-return-of-uninitialized-rc-in-dfs_cache_upd.patch
new file mode 100644 (file)
index 0000000..3ae5aa8
--- /dev/null
@@ -0,0 +1,42 @@
+From ba7423790a7e14c9424ede0cbfd4023a154a4c1d Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 18 Jan 2023 13:36:31 -0300
+Subject: cifs: fix return of uninitialized rc in dfs_cache_update_tgthint()
+
+From: Paulo Alcantara <pc@cjr.nz>
+
+[ Upstream commit d6a49e8c4ca4d399ed65ac219585187fc8c2e2b1 ]
+
+Fix this by initializing rc to 0 as cache_refresh_path() would not set
+it in case of success.
+
+Reported-by: kernel test robot <lkp@intel.com>
+Link: https://lore.kernel.org/all/202301190004.bEHvbKG6-lkp@intel.com/
+Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
+Signed-off-by: Steve French <stfrench@microsoft.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ fs/cifs/dfs_cache.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/fs/cifs/dfs_cache.c b/fs/cifs/dfs_cache.c
+index 4302dc75843c..3bc1d3494be3 100644
+--- a/fs/cifs/dfs_cache.c
++++ b/fs/cifs/dfs_cache.c
+@@ -1050,10 +1050,10 @@ int dfs_cache_update_tgthint(const unsigned int xid, struct cifs_ses *ses,
+                            const struct nls_table *cp, int remap, const char *path,
+                            const struct dfs_cache_tgt_iterator *it)
+ {
+-      int rc;
+-      const char *npath;
+-      struct cache_entry *ce;
+       struct cache_dfs_tgt *t;
++      struct cache_entry *ce;
++      const char *npath;
++      int rc = 0;
+       npath = dfs_cache_canonical_path(path, cp, remap);
+       if (IS_ERR(npath))
+-- 
+2.39.0
+
diff --git a/queue-6.1/dmaengine-imx-sdma-fix-a-possible-memory-leak-in-sdm.patch b/queue-6.1/dmaengine-imx-sdma-fix-a-possible-memory-leak-in-sdm.patch
new file mode 100644 (file)
index 0000000..9dbf3c8
--- /dev/null
@@ -0,0 +1,49 @@
+From 0763bb815fd78c0baf937c0f3a583350ec64312c Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 30 Nov 2022 17:08:00 +0800
+Subject: dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init
+
+From: Hui Wang <hui.wang@canonical.com>
+
+[ Upstream commit 1417f59ac0b02130ee56c0c50794b9b257be3d17 ]
+
+If the function sdma_load_context() fails, the sdma_desc will be
+freed, but the allocated desc->bd is forgot to be freed.
+
+We already met the sdma_load_context() failure case and the log as
+below:
+[ 450.699064] imx-sdma 30bd0000.dma-controller: Timeout waiting for CH0 ready
+...
+
+In this case, the desc->bd will not be freed without this change.
+
+Signed-off-by: Hui Wang <hui.wang@canonical.com>
+Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de>
+Link: https://lore.kernel.org/r/20221130090800.102035-1-hui.wang@canonical.com
+Signed-off-by: Vinod Koul <vkoul@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/dma/imx-sdma.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
+index fbea5f62dd98..b926abe4fa43 100644
+--- a/drivers/dma/imx-sdma.c
++++ b/drivers/dma/imx-sdma.c
+@@ -1521,10 +1521,12 @@ static struct sdma_desc *sdma_transfer_init(struct sdma_channel *sdmac,
+               sdma_config_ownership(sdmac, false, true, false);
+       if (sdma_load_context(sdmac))
+-              goto err_desc_out;
++              goto err_bd_out;
+       return desc;
++err_bd_out:
++      sdma_free_bd(desc);
+ err_desc_out:
+       kfree(desc);
+ err_out:
+-- 
+2.39.0
+
diff --git a/queue-6.1/erofs-clean-up-parsing-of-fscache-related-options.patch b/queue-6.1/erofs-clean-up-parsing-of-fscache-related-options.patch
new file mode 100644 (file)
index 0000000..b9b0d88
--- /dev/null
@@ -0,0 +1,63 @@
+From 277b333e8d8096f5b7f738d55304a341c732fd47 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 12 Jan 2023 14:54:31 +0800
+Subject: erofs: clean up parsing of fscache related options
+
+From: Jingbo Xu <jefflexu@linux.alibaba.com>
+
+[ Upstream commit e02ac3e7329f76c5de40cba2746cbe165f571dff ]
+
+... to avoid the mess of conditional preprocessing as we are continually
+adding fscache related mount options.
+
+Reviewd-by: Gao Xiang <hsiangkao@linux.alibaba.com>
+Reviewed-by: Yue Hu <huyue2@coolpad.com>
+Reviewed-by: Chao Yu <chao@kernel.org>
+Signed-off-by: Jingbo Xu <jefflexu@linux.alibaba.com>
+Link: https://lore.kernel.org/r/20230112065431.124926-3-jefflexu@linux.alibaba.com
+Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ fs/erofs/super.c | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/fs/erofs/super.c b/fs/erofs/super.c
+index 481788c24a68..626a615dafc2 100644
+--- a/fs/erofs/super.c
++++ b/fs/erofs/super.c
+@@ -577,26 +577,25 @@ static int erofs_fc_parse_param(struct fs_context *fc,
+               }
+               ++ctx->devs->extra_devices;
+               break;
+-      case Opt_fsid:
+ #ifdef CONFIG_EROFS_FS_ONDEMAND
++      case Opt_fsid:
+               kfree(ctx->fsid);
+               ctx->fsid = kstrdup(param->string, GFP_KERNEL);
+               if (!ctx->fsid)
+                       return -ENOMEM;
+-#else
+-              errorfc(fc, "fsid option not supported");
+-#endif
+               break;
+       case Opt_domain_id:
+-#ifdef CONFIG_EROFS_FS_ONDEMAND
+               kfree(ctx->domain_id);
+               ctx->domain_id = kstrdup(param->string, GFP_KERNEL);
+               if (!ctx->domain_id)
+                       return -ENOMEM;
++              break;
+ #else
+-              errorfc(fc, "domain_id option not supported");
+-#endif
++      case Opt_fsid:
++      case Opt_domain_id:
++              errorfc(fc, "%s option not supported", erofs_fs_parameters[opt].name);
+               break;
++#endif
+       default:
+               return -ENOPARAM;
+       }
+-- 
+2.39.0
+
diff --git a/queue-6.1/erofs-zmap.c-fix-incorrect-offset-calculation.patch b/queue-6.1/erofs-zmap.c-fix-incorrect-offset-calculation.patch
new file mode 100644 (file)
index 0000000..7dbc498
--- /dev/null
@@ -0,0 +1,61 @@
+From 2eb92f0d24f3f60fc805bf9d348332ea25a51cc5 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 9 Dec 2022 15:51:51 +0530
+Subject: erofs/zmap.c: Fix incorrect offset calculation
+
+From: Siddh Raman Pant <code@siddh.me>
+
+[ Upstream commit 6acd87d50998ef0afafc441613aeaf5a8f5c9eff ]
+
+Effective offset to add to length was being incorrectly calculated,
+which resulted in iomap->length being set to 0, triggering a WARN_ON
+in iomap_iter_done().
+
+Fix that, and describe it in comments.
+
+This was reported as a crash by syzbot under an issue about a warning
+encountered in iomap_iter_done(), but unrelated to erofs.
+
+C reproducer: https://syzkaller.appspot.com/text?tag=ReproC&x=1037a6b2880000
+Kernel config: https://syzkaller.appspot.com/text?tag=KernelConfig&x=e2021a61197ebe02
+Dashboard link: https://syzkaller.appspot.com/bug?extid=a8e049cd3abd342936b6
+
+Reported-by: syzbot+a8e049cd3abd342936b6@syzkaller.appspotmail.com
+Suggested-by: Gao Xiang <hsiangkao@linux.alibaba.com>
+Signed-off-by: Siddh Raman Pant <code@siddh.me>
+Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
+Reviewed-by: Chao Yu <chao@kernel.org>
+Link: https://lore.kernel.org/r/20221209102151.311049-1-code@siddh.me
+Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ fs/erofs/zmap.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/fs/erofs/zmap.c b/fs/erofs/zmap.c
+index e6d5d7a18fb0..39cc014dba40 100644
+--- a/fs/erofs/zmap.c
++++ b/fs/erofs/zmap.c
+@@ -793,12 +793,16 @@ static int z_erofs_iomap_begin_report(struct inode *inode, loff_t offset,
+               iomap->type = IOMAP_HOLE;
+               iomap->addr = IOMAP_NULL_ADDR;
+               /*
+-               * No strict rule how to describe extents for post EOF, yet
+-               * we need do like below. Otherwise, iomap itself will get
++               * No strict rule on how to describe extents for post EOF, yet
++               * we need to do like below. Otherwise, iomap itself will get
+                * into an endless loop on post EOF.
++               *
++               * Calculate the effective offset by subtracting extent start
++               * (map.m_la) from the requested offset, and add it to length.
++               * (NB: offset >= map.m_la always)
+                */
+               if (iomap->offset >= inode->i_size)
+-                      iomap->length = length + map.m_la - offset;
++                      iomap->length = length + offset - map.m_la;
+       }
+       iomap->flags = 0;
+       return 0;
+-- 
+2.39.0
+
diff --git a/queue-6.1/firmware-arm_scmi-clear-stale-xfer-hdr.status.patch b/queue-6.1/firmware-arm_scmi-clear-stale-xfer-hdr.status.patch
new file mode 100644 (file)
index 0000000..c939f19
--- /dev/null
@@ -0,0 +1,37 @@
+From ac0a7afef35bd3b6a72c7d42707654eea886d160 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 22 Dec 2022 18:38:19 +0000
+Subject: firmware: arm_scmi: Clear stale xfer->hdr.status
+
+From: Cristian Marussi <cristian.marussi@arm.com>
+
+[ Upstream commit f6ca5059dc0d6608dc46070f48e396d611f240d6 ]
+
+Stale error status reported from a previous message transaction must be
+cleared before starting a new transaction to avoid being confusingly
+reported in the following SCMI message dump traces.
+
+Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
+Link: https://lore.kernel.org/r/20221222183823.518856-2-cristian.marussi@arm.com
+Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/firmware/arm_scmi/driver.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c
+index f818d00bb2c6..ffdad59ec81f 100644
+--- a/drivers/firmware/arm_scmi/driver.c
++++ b/drivers/firmware/arm_scmi/driver.c
+@@ -910,6 +910,8 @@ static int do_xfer(const struct scmi_protocol_handle *ph,
+                             xfer->hdr.protocol_id, xfer->hdr.seq,
+                             xfer->hdr.poll_completion);
++      /* Clear any stale status */
++      xfer->hdr.status = SCMI_SUCCESS;
+       xfer->state = SCMI_XFER_SENT_OK;
+       /*
+        * Even though spinlocking is not needed here since no race is possible
+-- 
+2.39.0
+
diff --git a/queue-6.1/gpiolib-acpi-allow-ignoring-wake-capability-on-pins-.patch b/queue-6.1/gpiolib-acpi-allow-ignoring-wake-capability-on-pins-.patch
new file mode 100644 (file)
index 0000000..877533a
--- /dev/null
@@ -0,0 +1,50 @@
+From 832a64f6e1557e017da518199dcab0e5fdca2808 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 16 Jan 2023 13:37:01 -0600
+Subject: gpiolib: acpi: Allow ignoring wake capability on pins that aren't in
+ _AEI
+
+From: Mario Limonciello <mario.limonciello@amd.com>
+
+[ Upstream commit 0e3b175f079247f0d40d2ab695999c309d3a7498 ]
+
+Using the `ignore_wake` quirk or module parameter doesn't work for any pin
+that has been specified in the _CRS instead of _AEI.
+
+Extend the `acpi_gpio_irq_is_wake` check to cover both places.
+
+Suggested-by: Raul Rangel <rrangel@chromium.org>
+Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1722#note_1722335
+Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
+Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpio/gpiolib-acpi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
+index a7d2358736fe..27f234637a15 100644
+--- a/drivers/gpio/gpiolib-acpi.c
++++ b/drivers/gpio/gpiolib-acpi.c
+@@ -361,7 +361,7 @@ static bool acpi_gpio_in_ignore_list(const char *ignore_list, const char *contro
+ }
+ static bool acpi_gpio_irq_is_wake(struct device *parent,
+-                                struct acpi_resource_gpio *agpio)
++                                const struct acpi_resource_gpio *agpio)
+ {
+       unsigned int pin = agpio->pin_table[0];
+@@ -754,7 +754,7 @@ static int acpi_populate_gpio_lookup(struct acpi_resource *ares, void *data)
+               lookup->info.pin_config = agpio->pin_config;
+               lookup->info.debounce = agpio->debounce_timeout;
+               lookup->info.gpioint = gpioint;
+-              lookup->info.wake_capable = agpio->wake_capable == ACPI_WAKE_CAPABLE;
++              lookup->info.wake_capable = acpi_gpio_irq_is_wake(&lookup->info.adev->dev, agpio);
+               /*
+                * Polarity and triggering are only specified for GpioInt
+-- 
+2.39.0
+
diff --git a/queue-6.1/hid-playstation-sanity-check-dualsense-calibration-d.patch b/queue-6.1/hid-playstation-sanity-check-dualsense-calibration-d.patch
new file mode 100644 (file)
index 0000000..13a7f4e
--- /dev/null
@@ -0,0 +1,87 @@
+From 44c9ae070da3eecdaeb9848759e03bd9dcb37e38 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 5 Jan 2023 17:59:08 -0800
+Subject: HID: playstation: sanity check DualSense calibration data.
+
+From: Roderick Colenbrander <roderick@gaikai.com>
+
+[ Upstream commit ccf1e1626d37745d0a697db67407beec9ae9d4b8 ]
+
+Make sure calibration values are defined to prevent potential kernel
+crashes. This fixes a hypothetical issue for virtual or clone devices
+inspired by a similar fix for DS4.
+
+Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/hid/hid-playstation.c | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+diff --git a/drivers/hid/hid-playstation.c b/drivers/hid/hid-playstation.c
+index 0b58763bfd30..2228f6e4ba23 100644
+--- a/drivers/hid/hid-playstation.c
++++ b/drivers/hid/hid-playstation.c
+@@ -712,6 +712,7 @@ ATTRIBUTE_GROUPS(ps_device);
+ static int dualsense_get_calibration_data(struct dualsense *ds)
+ {
++      struct hid_device *hdev = ds->base.hdev;
+       short gyro_pitch_bias, gyro_pitch_plus, gyro_pitch_minus;
+       short gyro_yaw_bias, gyro_yaw_plus, gyro_yaw_minus;
+       short gyro_roll_bias, gyro_roll_plus, gyro_roll_minus;
+@@ -722,6 +723,7 @@ static int dualsense_get_calibration_data(struct dualsense *ds)
+       int speed_2x;
+       int range_2g;
+       int ret = 0;
++      int i;
+       uint8_t *buf;
+       buf = kzalloc(DS_FEATURE_REPORT_CALIBRATION_SIZE, GFP_KERNEL);
+@@ -773,6 +775,21 @@ static int dualsense_get_calibration_data(struct dualsense *ds)
+       ds->gyro_calib_data[2].sens_numer = speed_2x*DS_GYRO_RES_PER_DEG_S;
+       ds->gyro_calib_data[2].sens_denom = gyro_roll_plus - gyro_roll_minus;
++      /*
++       * Sanity check gyro calibration data. This is needed to prevent crashes
++       * during report handling of virtual, clone or broken devices not implementing
++       * calibration data properly.
++       */
++      for (i = 0; i < ARRAY_SIZE(ds->gyro_calib_data); i++) {
++              if (ds->gyro_calib_data[i].sens_denom == 0) {
++                      hid_warn(hdev, "Invalid gyro calibration data for axis (%d), disabling calibration.",
++                                      ds->gyro_calib_data[i].abs_code);
++                      ds->gyro_calib_data[i].bias = 0;
++                      ds->gyro_calib_data[i].sens_numer = DS_GYRO_RANGE;
++                      ds->gyro_calib_data[i].sens_denom = S16_MAX;
++              }
++      }
++
+       /*
+        * Set accelerometer calibration and normalization parameters.
+        * Data values will be normalized to 1/DS_ACC_RES_PER_G g.
+@@ -795,6 +812,21 @@ static int dualsense_get_calibration_data(struct dualsense *ds)
+       ds->accel_calib_data[2].sens_numer = 2*DS_ACC_RES_PER_G;
+       ds->accel_calib_data[2].sens_denom = range_2g;
++      /*
++       * Sanity check accelerometer calibration data. This is needed to prevent crashes
++       * during report handling of virtual, clone or broken devices not implementing calibration
++       * data properly.
++       */
++      for (i = 0; i < ARRAY_SIZE(ds->accel_calib_data); i++) {
++              if (ds->accel_calib_data[i].sens_denom == 0) {
++                      hid_warn(hdev, "Invalid accelerometer calibration data for axis (%d), disabling calibration.",
++                                      ds->accel_calib_data[i].abs_code);
++                      ds->accel_calib_data[i].bias = 0;
++                      ds->accel_calib_data[i].sens_numer = DS_ACC_RANGE;
++                      ds->accel_calib_data[i].sens_denom = S16_MAX;
++              }
++      }
++
+ err_free:
+       kfree(buf);
+       return ret;
+-- 
+2.39.0
+
diff --git a/queue-6.1/hid-uclogic-add-support-for-xp-pen-deco-01-v2.patch b/queue-6.1/hid-uclogic-add-support-for-xp-pen-deco-01-v2.patch
new file mode 100644 (file)
index 0000000..63aa060
--- /dev/null
@@ -0,0 +1,69 @@
+From db4903ecbfda3748f0f4fc08a5b4240c0441ca9b Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 26 Dec 2022 13:34:56 +0100
+Subject: HID: uclogic: Add support for XP-PEN Deco 01 V2
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: José Expósito <jose.exposito89@gmail.com>
+
+[ Upstream commit febb2c0d7c69c0396aa32d5ab425a4163473961a ]
+
+The XP-PEN Deco 01 V2 is a UGEE v2 device with a frame with 8 buttons.
+Its pen has 2 buttons, supports tilt and pressure.
+
+Add its ID in order to support the device.
+
+Link: https://gitlab.freedesktop.org/libinput/libinput/-/issues/839
+Tested-by: Mark Waddoups <mwaddoups@gmail.com>
+Signed-off-by: José Expósito <jose.exposito89@gmail.com>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/hid/hid-ids.h            | 1 +
+ drivers/hid/hid-uclogic-core.c   | 2 ++
+ drivers/hid/hid-uclogic-params.c | 2 ++
+ 3 files changed, 5 insertions(+)
+
+diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
+index c3735848ed5d..0f8c11842a3a 100644
+--- a/drivers/hid/hid-ids.h
++++ b/drivers/hid/hid-ids.h
+@@ -1294,6 +1294,7 @@
+ #define USB_DEVICE_ID_UGEE_XPPEN_TABLET_G540  0x0075
+ #define USB_DEVICE_ID_UGEE_XPPEN_TABLET_G640  0x0094
+ #define USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO01        0x0042
++#define USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO01_V2     0x0905
+ #define USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_L        0x0935
+ #define USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_PRO_S    0x0909
+ #define USB_DEVICE_ID_UGEE_XPPEN_TABLET_STAR06        0x0078
+diff --git a/drivers/hid/hid-uclogic-core.c b/drivers/hid/hid-uclogic-core.c
+index 7fa6fe04f1b2..cfbbc39807a6 100644
+--- a/drivers/hid/hid-uclogic-core.c
++++ b/drivers/hid/hid-uclogic-core.c
+@@ -525,6 +525,8 @@ static const struct hid_device_id uclogic_devices[] = {
+                               USB_DEVICE_ID_UGEE_XPPEN_TABLET_G640) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_UGEE,
+                               USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO01) },
++      { HID_USB_DEVICE(USB_VENDOR_ID_UGEE,
++                              USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO01_V2) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_UGEE,
+                               USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_L) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_UGEE,
+diff --git a/drivers/hid/hid-uclogic-params.c b/drivers/hid/hid-uclogic-params.c
+index cd1233d7e253..3c5eea3df328 100644
+--- a/drivers/hid/hid-uclogic-params.c
++++ b/drivers/hid/hid-uclogic-params.c
+@@ -1655,6 +1655,8 @@ int uclogic_params_init(struct uclogic_params *params,
+               break;
+       case VID_PID(USB_VENDOR_ID_UGEE,
+                    USB_DEVICE_ID_UGEE_PARBLO_A610_PRO):
++      case VID_PID(USB_VENDOR_ID_UGEE,
++                   USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO01_V2):
+       case VID_PID(USB_VENDOR_ID_UGEE,
+                    USB_DEVICE_ID_UGEE_XPPEN_TABLET_DECO_L):
+       case VID_PID(USB_VENDOR_ID_UGEE,
+-- 
+2.39.0
+
diff --git a/queue-6.1/kselftest-fix-error-message-for-unconfigured-llvm-bu.patch b/queue-6.1/kselftest-fix-error-message-for-unconfigured-llvm-bu.patch
new file mode 100644 (file)
index 0000000..f22c4da
--- /dev/null
@@ -0,0 +1,39 @@
+From 7b505b9f4a3d29ce87db9031250f8d2dded20235 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 11 Jan 2023 22:33:07 +0000
+Subject: kselftest: Fix error message for unconfigured LLVM builds
+
+From: Mark Brown <broonie@kernel.org>
+
+[ Upstream commit 9fdaca2c1e157dc0a3c0faecf3a6a68e7d8d0c7b ]
+
+We are missing a ) when we attempt to complain about not having enough
+configuration for clang, resulting in the rather inscrutable error:
+
+../lib.mk:23: *** unterminated call to function 'error': missing ')'.  Stop.
+
+Add the required ) so we print the message we were trying to print.
+
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ tools/testing/selftests/lib.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
+index 291144c284fb..f7900e75d230 100644
+--- a/tools/testing/selftests/lib.mk
++++ b/tools/testing/selftests/lib.mk
+@@ -20,7 +20,7 @@ CLANG_TARGET_FLAGS              := $(CLANG_TARGET_FLAGS_$(ARCH))
+ ifeq ($(CROSS_COMPILE),)
+ ifeq ($(CLANG_TARGET_FLAGS),)
+-$(error Specify CROSS_COMPILE or add '--target=' option to lib.mk
++$(error Specify CROSS_COMPILE or add '--target=' option to lib.mk)
+ else
+ CLANG_FLAGS     += --target=$(CLANG_TARGET_FLAGS)
+ endif # CLANG_TARGET_FLAGS
+-- 
+2.39.0
+
diff --git a/queue-6.1/loongarch-get-frame-info-in-unwind_start-when-regs-i.patch b/queue-6.1/loongarch-get-frame-info-in-unwind_start-when-regs-i.patch
new file mode 100644 (file)
index 0000000..0189250
--- /dev/null
@@ -0,0 +1,101 @@
+From 4d0c27a7175599d5a02d0611f42c0aa72e06ccc3 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 17 Jan 2023 11:42:16 +0800
+Subject: LoongArch: Get frame info in unwind_start() when regs is not
+ available
+
+From: Jinyang He <hejinyang@loongson.cn>
+
+[ Upstream commit 429a9671f235c94fc4b5d6687308714b74adc820 ]
+
+At unwind_start(), it is better to get its frame info here rather than
+get them outside, even we don't have 'regs'. In this way we can simply
+use unwind_{start, next_frame, done} outside.
+
+Signed-off-by: Jinyang He <hejinyang@loongson.cn>
+Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/loongarch/kernel/process.c         | 12 +++---------
+ arch/loongarch/kernel/unwind_guess.c    |  6 ++++++
+ arch/loongarch/kernel/unwind_prologue.c | 16 +++++++++++++---
+ 3 files changed, 22 insertions(+), 12 deletions(-)
+
+diff --git a/arch/loongarch/kernel/process.c b/arch/loongarch/kernel/process.c
+index ddb8ba4eb399..90a5de746332 100644
+--- a/arch/loongarch/kernel/process.c
++++ b/arch/loongarch/kernel/process.c
+@@ -185,20 +185,14 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args)
+ unsigned long __get_wchan(struct task_struct *task)
+ {
+-      unsigned long pc;
++      unsigned long pc = 0;
+       struct unwind_state state;
+       if (!try_get_task_stack(task))
+               return 0;
+-      unwind_start(&state, task, NULL);
+-      state.sp = thread_saved_fp(task);
+-      get_stack_info(state.sp, state.task, &state.stack_info);
+-      state.pc = thread_saved_ra(task);
+-#ifdef CONFIG_UNWINDER_PROLOGUE
+-      state.type = UNWINDER_PROLOGUE;
+-#endif
+-      for (; !unwind_done(&state); unwind_next_frame(&state)) {
++      for (unwind_start(&state, task, NULL);
++           !unwind_done(&state); unwind_next_frame(&state)) {
+               pc = unwind_get_return_address(&state);
+               if (!pc)
+                       break;
+diff --git a/arch/loongarch/kernel/unwind_guess.c b/arch/loongarch/kernel/unwind_guess.c
+index 5afa6064d73e..0c20e5184de6 100644
+--- a/arch/loongarch/kernel/unwind_guess.c
++++ b/arch/loongarch/kernel/unwind_guess.c
+@@ -25,6 +25,12 @@ void unwind_start(struct unwind_state *state, struct task_struct *task,
+       if (regs) {
+               state->sp = regs->regs[3];
+               state->pc = regs->csr_era;
++      } else if (task && task != current) {
++              state->sp = thread_saved_fp(task);
++              state->pc = thread_saved_ra(task);
++      } else {
++              state->sp = (unsigned long)__builtin_frame_address(0);
++              state->pc = (unsigned long)__builtin_return_address(0);
+       }
+       state->task = task;
+diff --git a/arch/loongarch/kernel/unwind_prologue.c b/arch/loongarch/kernel/unwind_prologue.c
+index 4571c3c87cd4..1c5b65756144 100644
+--- a/arch/loongarch/kernel/unwind_prologue.c
++++ b/arch/loongarch/kernel/unwind_prologue.c
+@@ -111,12 +111,22 @@ void unwind_start(struct unwind_state *state, struct task_struct *task,
+                   struct pt_regs *regs)
+ {
+       memset(state, 0, sizeof(*state));
++      state->type = UNWINDER_PROLOGUE;
+-      if (regs &&  __kernel_text_address(regs->csr_era)) {
+-              state->pc = regs->csr_era;
++      if (regs) {
+               state->sp = regs->regs[3];
++              state->pc = regs->csr_era;
+               state->ra = regs->regs[1];
+-              state->type = UNWINDER_PROLOGUE;
++              if (!__kernel_text_address(state->pc))
++                      state->type = UNWINDER_GUESS;
++      } else if (task && task != current) {
++              state->sp = thread_saved_fp(task);
++              state->pc = thread_saved_ra(task);
++              state->ra = 0;
++      } else {
++              state->sp = (unsigned long)__builtin_frame_address(0);
++              state->pc = (unsigned long)__builtin_return_address(0);
++              state->ra = 0;
+       }
+       state->task = task;
+-- 
+2.39.0
+
diff --git a/queue-6.1/mac80211-fix-mlo-address-translation-for-multiple-bs.patch b/queue-6.1/mac80211-fix-mlo-address-translation-for-multiple-bs.patch
new file mode 100644 (file)
index 0000000..afbebac
--- /dev/null
@@ -0,0 +1,43 @@
+From 75d2a851e8ff03827b0a72cfdd64003cd6459d18 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 8 Dec 2022 09:30:50 +0530
+Subject: mac80211: Fix MLO address translation for multiple bss case
+
+From: Sriram R <quic_srirrama@quicinc.com>
+
+[ Upstream commit fa22b51ace8aa106267636f36170e940e676809c ]
+
+When multiple interfaces are present in the local interface
+list, new skb copy is taken before rx processing except for
+the first interface. The address translation happens each
+time only on the original skb since the hdr pointer is not
+updated properly to the newly created skb.
+
+As a result frames start to drop in userspace when address
+based checks or search fails.
+
+Signed-off-by: Sriram R <quic_srirrama@quicinc.com>
+Link: https://lore.kernel.org/r/20221208040050.25922-1-quic_srirrama@quicinc.com
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ net/mac80211/rx.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
+index 3262ebb24092..8f0d7c666df7 100644
+--- a/net/mac80211/rx.c
++++ b/net/mac80211/rx.c
+@@ -4859,6 +4859,9 @@ static bool ieee80211_prepare_and_rx_handle(struct ieee80211_rx_data *rx,
+                */
+               shwt = skb_hwtstamps(rx->skb);
+               shwt->hwtstamp = skb_hwtstamps(skb)->hwtstamp;
++
++              /* Update the hdr pointer to the new skb for translation below */
++              hdr = (struct ieee80211_hdr *)rx->skb->data;
+       }
+       if (unlikely(rx->sta && rx->sta->sta.mlo)) {
+-- 
+2.39.0
+
diff --git a/queue-6.1/nvme-apple-only-reset-the-controller-when-rtkit-is-r.patch b/queue-6.1/nvme-apple-only-reset-the-controller-when-rtkit-is-r.patch
new file mode 100644 (file)
index 0000000..a279155
--- /dev/null
@@ -0,0 +1,42 @@
+From f8123bbc8e8d844de122140803678982f6f573fd Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 17 Jan 2023 19:25:01 +0100
+Subject: nvme-apple: only reset the controller when RTKit is running
+
+From: Janne Grunau <j@jannau.net>
+
+[ Upstream commit c0a4a1eafbd48e02829045bba3e6163c03037276 ]
+
+NVMe controller register access hangs indefinitely when the co-processor
+is not running. A missed reset is preferable over a hanging thread since
+it could be recoverable.
+
+Signed-off-by: Janne Grunau <j@jannau.net>
+Signed-off-by: Christoph Hellwig <hch@lst.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/nvme/host/apple.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/nvme/host/apple.c b/drivers/nvme/host/apple.c
+index ff8b083dc5c6..262d2b60ac6d 100644
+--- a/drivers/nvme/host/apple.c
++++ b/drivers/nvme/host/apple.c
+@@ -987,11 +987,11 @@ static void apple_nvme_reset_work(struct work_struct *work)
+               goto out;
+       }
+-      if (anv->ctrl.ctrl_config & NVME_CC_ENABLE)
+-              apple_nvme_disable(anv, false);
+-
+       /* RTKit must be shut down cleanly for the (soft)-reset to work */
+       if (apple_rtkit_is_running(anv->rtk)) {
++              /* reset the controller if it is enabled */
++              if (anv->ctrl.ctrl_config & NVME_CC_ENABLE)
++                      apple_nvme_disable(anv, false);
+               dev_dbg(anv->dev, "Trying to shut down RTKit before reset.");
+               ret = apple_rtkit_shutdown(anv->rtk);
+               if (ret)
+-- 
+2.39.0
+
diff --git a/queue-6.1/s390-workaround-invalid-gcc-11-out-of-bounds-read-wa.patch b/queue-6.1/s390-workaround-invalid-gcc-11-out-of-bounds-read-wa.patch
new file mode 100644 (file)
index 0000000..31fed47
--- /dev/null
@@ -0,0 +1,62 @@
+From dbddfb7479d5f400288fe93e8c7669ba06d7f40e Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 17 Jan 2023 19:00:59 +0100
+Subject: s390: workaround invalid gcc-11 out of bounds read warning
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Heiko Carstens <hca@linux.ibm.com>
+
+[ Upstream commit 41e1992665a2701fa025a8b76970c43b4148446f ]
+
+GCC 11.1.0 and 11.2.0 generate a wrong warning when compiling the
+kernel e.g. with allmodconfig:
+
+arch/s390/kernel/setup.c: In function ‘setup_lowcore_dat_on’:
+./include/linux/fortify-string.h:57:33: error: ‘__builtin_memcpy’ reading 128 bytes from a region of size 0 [-Werror=stringop-overread]
+...
+arch/s390/kernel/setup.c:526:9: note: in expansion of macro ‘memcpy’
+  526 |         memcpy(abs_lc->cregs_save_area, S390_lowcore.cregs_save_area,
+      |         ^~~~~~
+
+This could be addressed by using absolute_pointer() with the
+S390_lowcore macro, but this is not a good idea since this generates
+worse code for performance critical paths.
+
+Therefore simply use a for loop to copy the array in question and get
+rid of the warning.
+
+Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
+Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/s390/kernel/setup.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
+index ab19ddb09d65..2ec5f1e0312f 100644
+--- a/arch/s390/kernel/setup.c
++++ b/arch/s390/kernel/setup.c
+@@ -507,6 +507,7 @@ static void __init setup_lowcore_dat_on(void)
+ {
+       struct lowcore *abs_lc;
+       unsigned long flags;
++      int i;
+       __ctl_clear_bit(0, 28);
+       S390_lowcore.external_new_psw.mask |= PSW_MASK_DAT;
+@@ -521,8 +522,8 @@ static void __init setup_lowcore_dat_on(void)
+       abs_lc = get_abs_lowcore(&flags);
+       abs_lc->restart_flags = RESTART_FLAG_CTLREGS;
+       abs_lc->program_new_psw = S390_lowcore.program_new_psw;
+-      memcpy(abs_lc->cregs_save_area, S390_lowcore.cregs_save_area,
+-             sizeof(abs_lc->cregs_save_area));
++      for (i = 0; i < 16; i++)
++              abs_lc->cregs_save_area[i] = S390_lowcore.cregs_save_area[i];
+       put_abs_lowcore(abs_lc, flags);
+ }
+-- 
+2.39.0
+
diff --git a/queue-6.1/series b/queue-6.1/series
new file mode 100644 (file)
index 0000000..86da312
--- /dev/null
@@ -0,0 +1,23 @@
+arm-dts-imx-fix-pca9547-i2c-mux-node-name.patch
+arm-dts-vf610-fix-pca9548-i2c-mux-node-names.patch
+arm64-dts-freescale-fix-pca954x-i2c-mux-node-names.patch
+arm64-dts-imx8mq-thor96-fix-no-mmc-property-for-sdhc.patch
+firmware-arm_scmi-clear-stale-xfer-hdr.status.patch
+bpf-skip-task-with-pid-1-in-send_signal_common.patch
+erofs-zmap.c-fix-incorrect-offset-calculation.patch
+mac80211-fix-mlo-address-translation-for-multiple-bs.patch
+arm64-dts-msm8994-angler-fix-the-memory-map.patch
+arm-omap1-fix-building-gpio15xx.patch
+kselftest-fix-error-message-for-unconfigured-llvm-bu.patch
+erofs-clean-up-parsing-of-fscache-related-options.patch
+blk-cgroup-fix-missing-pd_online_fn-while-activating.patch
+loongarch-get-frame-info-in-unwind_start-when-regs-i.patch
+acpi-video-add-backlight-native-dmi-quirk-for-acer-a.patch
+block-fix-hctx-checks-for-batch-allocation.patch
+s390-workaround-invalid-gcc-11-out-of-bounds-read-wa.patch
+hid-uclogic-add-support-for-xp-pen-deco-01-v2.patch
+hid-playstation-sanity-check-dualsense-calibration-d.patch
+dmaengine-imx-sdma-fix-a-possible-memory-leak-in-sdm.patch
+gpiolib-acpi-allow-ignoring-wake-capability-on-pins-.patch
+cifs-fix-return-of-uninitialized-rc-in-dfs_cache_upd.patch
+nvme-apple-only-reset-the-controller-when-rtkit-is-r.patch