From: Sasha Levin Date: Wed, 1 Feb 2023 16:41:54 +0000 (-0500) Subject: Fixes for 5.10 X-Git-Tag: v4.14.305~30 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a449df5dc5c4aa57b00dd9db2ab41a2a568a9779;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 5.10 Signed-off-by: Sasha Levin --- diff --git a/queue-5.10/arm-dts-imx-fix-pca9547-i2c-mux-node-name.patch b/queue-5.10/arm-dts-imx-fix-pca9547-i2c-mux-node-name.patch new file mode 100644 index 00000000000..1bab844cf5e --- /dev/null +++ b/queue-5.10/arm-dts-imx-fix-pca9547-i2c-mux-node-name.patch @@ -0,0 +1,43 @@ +From 927dc2dc6fe9b56ec2451c2994236159df41c428 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 2 Dec 2022 17:49:18 +0100 +Subject: ARM: dts: imx: Fix pca9547 i2c-mux node name + +From: Geert Uytterhoeven + +[ 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 +Signed-off-by: Shawn Guo +Signed-off-by: Sasha Levin +--- + 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 006fbd7f5432..54e39db447c4 100644 +--- a/arch/arm/boot/dts/imx53-ppd.dts ++++ b/arch/arm/boot/dts/imx53-ppd.dts +@@ -487,7 +487,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-5.10/arm-dts-vf610-fix-pca9548-i2c-mux-node-names.patch b/queue-5.10/arm-dts-vf610-fix-pca9548-i2c-mux-node-names.patch new file mode 100644 index 00000000000..6a4f16e03e9 --- /dev/null +++ b/queue-5.10/arm-dts-vf610-fix-pca9548-i2c-mux-node-names.patch @@ -0,0 +1,58 @@ +From 3cac8513f0fe2a134aafbd73919ca8232d1ccc1c Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 2 Dec 2022 17:49:21 +0100 +Subject: ARM: dts: vf610: Fix pca9548 i2c-mux node names + +From: Geert Uytterhoeven + +[ 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 +Signed-off-by: Shawn Guo +Signed-off-by: Sasha Levin +--- + 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 6f1e0f0d4f0a..073f5d196ca9 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-5.10/arm64-dts-imx8mq-thor96-fix-no-mmc-property-for-sdhc.patch b/queue-5.10/arm64-dts-imx8mq-thor96-fix-no-mmc-property-for-sdhc.patch new file mode 100644 index 00000000000..def6acf01e6 --- /dev/null +++ b/queue-5.10/arm64-dts-imx8mq-thor96-fix-no-mmc-property-for-sdhc.patch @@ -0,0 +1,44 @@ +From 5ba5ab2dc104adaa43539ac58b0e4a43a9a5a98a Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Sun, 4 Dec 2022 10:44:17 +0100 +Subject: arm64: dts: imx8mq-thor96: fix no-mmc property for SDHCI + +From: Krzysztof Kozlowski + +[ 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 +Signed-off-by: Shawn Guo +Signed-off-by: Sasha Levin +--- + 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-5.10/blk-cgroup-fix-missing-pd_online_fn-while-activating.patch b/queue-5.10/blk-cgroup-fix-missing-pd_online_fn-while-activating.patch new file mode 100644 index 00000000000..b564fa7dbb5 --- /dev/null +++ b/queue-5.10/blk-cgroup-fix-missing-pd_online_fn-while-activating.patch @@ -0,0 +1,39 @@ +From 88da27f574f32afcbb0066cab4f247eb5ea1b1d9 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 3 Jan 2023 19:28:33 +0800 +Subject: blk-cgroup: fix missing pd_online_fn() while activating policy + +From: Yu Kuai + +[ 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 +Acked-by: Tejun Heo +Link: https://lore.kernel.org/r/20230103112833.2013432-1-yukuai1@huaweicloud.com +Signed-off-by: Jens Axboe +Signed-off-by: Sasha Levin +--- + block/blk-cgroup.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c +index 484c6b2dd264..c623632c1cda 100644 +--- a/block/blk-cgroup.c ++++ b/block/blk-cgroup.c +@@ -1370,6 +1370,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-5.10/bpf-skip-task-with-pid-1-in-send_signal_common.patch b/queue-5.10/bpf-skip-task-with-pid-1-in-send_signal_common.patch new file mode 100644 index 00000000000..63cdf21af0a --- /dev/null +++ b/queue-5.10/bpf-skip-task-with-pid-1-in-send_signal_common.patch @@ -0,0 +1,61 @@ +From d1a329f74d0b4d1caa59d29780e41cd57c478e5f Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 6 Jan 2023 16:48:38 +0800 +Subject: bpf: Skip task with pid=1 in send_signal_common() + +From: Hao Sun + +[ 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: + + __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 +Signed-off-by: Daniel Borkmann +Acked-by: Stanislav Fomichev +Link: https://lore.kernel.org/bpf/20230106084838.12690-1-sunhao.th@gmail.com +Signed-off-by: Sasha Levin +--- + 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 a9e074769881..ab4f51716645 100644 +--- a/kernel/trace/bpf_trace.c ++++ b/kernel/trace/bpf_trace.c +@@ -1072,6 +1072,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-5.10/dmaengine-imx-sdma-fix-a-possible-memory-leak-in-sdm.patch b/queue-5.10/dmaengine-imx-sdma-fix-a-possible-memory-leak-in-sdm.patch new file mode 100644 index 00000000000..05714501fb7 --- /dev/null +++ b/queue-5.10/dmaengine-imx-sdma-fix-a-possible-memory-leak-in-sdm.patch @@ -0,0 +1,49 @@ +From 54fadaaf138d26f96a345d71204f0bc5d9b03e3d Mon Sep 17 00:00:00 2001 +From: Sasha Levin +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 + +[ 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 +Reviewed-by: Sascha Hauer +Link: https://lore.kernel.org/r/20221130090800.102035-1-hui.wang@canonical.com +Signed-off-by: Vinod Koul +Signed-off-by: Sasha Levin +--- + 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 2283dcd8bf91..6514db824473 100644 +--- a/drivers/dma/imx-sdma.c ++++ b/drivers/dma/imx-sdma.c +@@ -1363,10 +1363,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-5.10/series b/queue-5.10/series new file mode 100644 index 00000000000..ad4a02326a2 --- /dev/null +++ b/queue-5.10/series @@ -0,0 +1,6 @@ +arm-dts-imx-fix-pca9547-i2c-mux-node-name.patch +arm-dts-vf610-fix-pca9548-i2c-mux-node-names.patch +arm64-dts-imx8mq-thor96-fix-no-mmc-property-for-sdhc.patch +bpf-skip-task-with-pid-1-in-send_signal_common.patch +blk-cgroup-fix-missing-pd_online_fn-while-activating.patch +dmaengine-imx-sdma-fix-a-possible-memory-leak-in-sdm.patch