From: Sasha Levin Date: Mon, 25 Sep 2023 11:23:34 +0000 (-0400) Subject: Fixes for 5.4 X-Git-Tag: v6.5.6~93 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=563d00f540ae171a9ebc3e583d200ef201758c10;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 5.4 Signed-off-by: Sasha Levin --- diff --git a/queue-5.4/gpio-tb10x-fix-an-error-handling-path-in-tb10x_gpio_.patch b/queue-5.4/gpio-tb10x-fix-an-error-handling-path-in-tb10x_gpio_.patch new file mode 100644 index 00000000000..87511f242e7 --- /dev/null +++ b/queue-5.4/gpio-tb10x-fix-an-error-handling-path-in-tb10x_gpio_.patch @@ -0,0 +1,48 @@ +From af51f58c0cc55a9a060107a8c16a36fd51850f01 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Sun, 3 Sep 2023 08:13:21 +0200 +Subject: gpio: tb10x: Fix an error handling path in tb10x_gpio_probe() + +From: Christophe JAILLET + +[ Upstream commit b547b5e52a0587e6b25ea520bf2f9e03d00cbcb6 ] + +If an error occurs after a successful irq_domain_add_linear() call, it +should be undone by a corresponding irq_domain_remove(), as already done +in the remove function. + +Fixes: c6ce2b6bffe5 ("gpio: add TB10x GPIO driver") +Signed-off-by: Christophe JAILLET +Signed-off-by: Bartosz Golaszewski +Signed-off-by: Sasha Levin +--- + drivers/gpio/gpio-tb10x.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpio/gpio-tb10x.c b/drivers/gpio/gpio-tb10x.c +index 5e375186f90ef..2a5e6263570fe 100644 +--- a/drivers/gpio/gpio-tb10x.c ++++ b/drivers/gpio/gpio-tb10x.c +@@ -195,7 +195,7 @@ static int tb10x_gpio_probe(struct platform_device *pdev) + handle_edge_irq, IRQ_NOREQUEST, IRQ_NOPROBE, + IRQ_GC_INIT_MASK_CACHE); + if (ret) +- return ret; ++ goto err_remove_domain; + + gc = tb10x_gpio->domain->gc->gc[0]; + gc->reg_base = tb10x_gpio->base; +@@ -209,6 +209,10 @@ static int tb10x_gpio_probe(struct platform_device *pdev) + } + + return 0; ++ ++err_remove_domain: ++ irq_domain_remove(tb10x_gpio->domain); ++ return ret; + } + + static int tb10x_gpio_remove(struct platform_device *pdev) +-- +2.40.1 + diff --git a/queue-5.4/i2c-mux-demux-pinctrl-check-the-return-value-of-devm.patch b/queue-5.4/i2c-mux-demux-pinctrl-check-the-return-value-of-devm.patch new file mode 100644 index 00000000000..9cd01b68cd4 --- /dev/null +++ b/queue-5.4/i2c-mux-demux-pinctrl-check-the-return-value-of-devm.patch @@ -0,0 +1,38 @@ +From 47d8df8ebb52255644c97ae89ff6eb2ea82ffdbb Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 3 Mar 2022 20:39:14 +0800 +Subject: i2c: mux: demux-pinctrl: check the return value of devm_kstrdup() + +From: Xiaoke Wang + +[ Upstream commit 7c0195fa9a9e263df204963f88a22b21688ffb66 ] + +devm_kstrdup() returns pointer to allocated string on success, +NULL on failure. So it is better to check the return value of it. + +Fixes: e35478eac030 ("i2c: mux: demux-pinctrl: run properly with multiple instances") +Signed-off-by: Xiaoke Wang +Signed-off-by: Wolfram Sang +Signed-off-by: Sasha Levin +--- + drivers/i2c/muxes/i2c-demux-pinctrl.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/i2c/muxes/i2c-demux-pinctrl.c b/drivers/i2c/muxes/i2c-demux-pinctrl.c +index f7a7405d4350a..8e8688e8de0fb 100644 +--- a/drivers/i2c/muxes/i2c-demux-pinctrl.c ++++ b/drivers/i2c/muxes/i2c-demux-pinctrl.c +@@ -243,6 +243,10 @@ static int i2c_demux_pinctrl_probe(struct platform_device *pdev) + + props[i].name = devm_kstrdup(&pdev->dev, "status", GFP_KERNEL); + props[i].value = devm_kstrdup(&pdev->dev, "ok", GFP_KERNEL); ++ if (!props[i].name || !props[i].value) { ++ err = -ENOMEM; ++ goto err_rollback; ++ } + props[i].length = 3; + + of_changeset_init(&priv->chan[i].chgset); +-- +2.40.1 + diff --git a/queue-5.4/series b/queue-5.4/series index e0f8fec57de..7822413286b 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -28,3 +28,5 @@ net-bridge-use-dev_stats_inc.patch team-fix-null-ptr-deref-when-team-device-type-is-cha.patch net-rds-fix-possible-null-pointer-dereference.patch netfilter-ipset-fix-race-between-ipset_cmd_create-an.patch +gpio-tb10x-fix-an-error-handling-path-in-tb10x_gpio_.patch +i2c-mux-demux-pinctrl-check-the-return-value-of-devm.patch