[kernel/f20] Add patch to fix list corruption from pinctrl (rhbz 1051918)
Josh Boyer
jwboyer at fedoraproject.org
Wed Feb 12 18:47:36 UTC 2014
commit aa5810928ea0d03d65e5c2c6ea1fc8195af2b172
Author: Josh Boyer <jwboyer at fedoraproject.org>
Date: Wed Feb 12 13:46:50 2014 -0500
Add patch to fix list corruption from pinctrl (rhbz 1051918)
kernel.spec | 7 ++++++
pinctrl-protect-pinctrl_list-add.patch | 38 ++++++++++++++++++++++++++++++++
2 files changed, 45 insertions(+), 0 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index e990b0a..6d5f490 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -763,6 +763,9 @@ Patch25195: cgroup-fixes.patch
Patch25196: ipv6-introduce-IFA_F_NOPREFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch
Patch25197: ipv6-addrconf-revert-if_inet6ifa_flag-format.patch
+#rhbz 1051918
+Patch25198: pinctrl-protect-pinctrl_list-add.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1482,6 +1485,9 @@ ApplyPatch cgroup-fixes.patch
ApplyPatch ipv6-introduce-IFA_F_NOPREFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch
ApplyPatch ipv6-addrconf-revert-if_inet6ifa_flag-format.patch
+#rhbz 1051918
+ApplyPatch pinctrl-protect-pinctrl_list-add.patch
+
# END OF PATCH APPLICATIONS
@@ -2295,6 +2301,7 @@ fi
# || ||
%changelog
* Wed Feb 12 2014 Josh Boyer <jwboyer at fedoraproject.org>
+- Add patch to fix list corruption from pinctrl (rhbz 1051918)
- Add IFA_FLAGS for IPv6 temporary addresses back (rhbz 1064430)
- Fix cgroup destroy oops (rhbz 1045755)
- Fix backtrace in amd_e400_idle (rhbz 1031296)
diff --git a/pinctrl-protect-pinctrl_list-add.patch b/pinctrl-protect-pinctrl_list-add.patch
new file mode 100644
index 0000000..3cd9c62
--- /dev/null
+++ b/pinctrl-protect-pinctrl_list-add.patch
@@ -0,0 +1,38 @@
+From 7b320cb1ed2dbd2c5f2a778197baf76fd6bf545a Mon Sep 17 00:00:00 2001
+From: Stanislaw Gruszka <sgruszka at redhat.com>
+Date: Tue, 4 Feb 2014 09:07:09 +0100
+Subject: [PATCH] pinctrl: protect pinctrl_list add
+
+We have few fedora bug reports about list corruption on pinctrl,
+for example:
+https://bugzilla.redhat.com/show_bug.cgi?id=1051918
+
+Most likely corruption happen due lack of protection of pinctrl_list
+when adding new nodes to it. Patch corrects that.
+
+Fixes: 42fed7ba44e ("pinctrl: move subsystem mutex to pinctrl_dev struct")
+Cc: stable at vger.kernel.org
+Signed-off-by: Stanislaw Gruszka <sgruszka at redhat.com>
+Acked-by: Stephen Warren <swarren at nvidia.com>
+Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
+---
+ drivers/pinctrl/core.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
+index 5ee61a4..cab020a 100644
+--- a/drivers/pinctrl/core.c
++++ b/drivers/pinctrl/core.c
+@@ -851,7 +851,9 @@ static struct pinctrl *create_pinctrl(struct device *dev)
+ kref_init(&p->users);
+
+ /* Add the pinctrl handle to the global list */
++ mutex_lock(&pinctrl_list_mutex);
+ list_add_tail(&p->node, &pinctrl_list);
++ mutex_unlock(&pinctrl_list_mutex);
+
+ return p;
+ }
+--
+1.8.5.3
+
More information about the scm-commits
mailing list