]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blobdiff - queue-5.10/pinctrl-core-delete-incorrect-free-in-pinctrl_enable.patch
Linux 5.10.217
[thirdparty/kernel/stable-queue.git] / queue-5.10 / pinctrl-core-delete-incorrect-free-in-pinctrl_enable.patch
diff --git a/queue-5.10/pinctrl-core-delete-incorrect-free-in-pinctrl_enable.patch b/queue-5.10/pinctrl-core-delete-incorrect-free-in-pinctrl_enable.patch
deleted file mode 100644 (file)
index bbd86aa..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-From 371ae570e4f0bbe0ee5658102190067d09eae542 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 21 Mar 2024 09:38:39 +0300
-Subject: pinctrl: core: delete incorrect free in pinctrl_enable()
-
-From: Dan Carpenter <dan.carpenter@linaro.org>
-
-[ Upstream commit 5038a66dad0199de60e5671603ea6623eb9e5c79 ]
-
-The "pctldev" struct is allocated in devm_pinctrl_register_and_init().
-It's a devm_ managed pointer that is freed by devm_pinctrl_dev_release(),
-so freeing it in pinctrl_enable() will lead to a double free.
-
-The devm_pinctrl_dev_release() function frees the pindescs and destroys
-the mutex as well.
-
-Fixes: 6118714275f0 ("pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()")
-Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
-Message-ID: <578fbe56-44e9-487c-ae95-29b695650f7c@moroto.mountain>
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/pinctrl/core.c | 8 +-------
- 1 file changed, 1 insertion(+), 7 deletions(-)
-
-diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
-index 4d52494369935..4d46260e6bff3 100644
---- a/drivers/pinctrl/core.c
-+++ b/drivers/pinctrl/core.c
-@@ -2075,13 +2075,7 @@ int pinctrl_enable(struct pinctrl_dev *pctldev)
-       error = pinctrl_claim_hogs(pctldev);
-       if (error) {
--              dev_err(pctldev->dev, "could not claim hogs: %i\n",
--                      error);
--              pinctrl_free_pindescs(pctldev, pctldev->desc->pins,
--                                    pctldev->desc->npins);
--              mutex_destroy(&pctldev->mutex);
--              kfree(pctldev);
--
-+              dev_err(pctldev->dev, "could not claim hogs: %i\n", error);
-               return error;
-       }
--- 
-2.43.0
-