Messages in this thread | | | Date | Mon, 03 Feb 2014 14:12:51 -0700 | From | Stephen Warren <> | Subject | Re: [PATCH] pinctrl: protect pinctrl_list add |
| |
On 02/03/2014 04:39 AM, Stanislaw Gruszka wrote: > 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: 57b676f9c1b ("pinctrl: fix and simplify locking")
After that patch ...
> diff --git 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);
That variable doesn't exist; it got replaced with the "global" pinctrl_mutex. Also, since that patch, IIRC some other changes have been made to the locking structure, so this patch might need adjustments not to conflict with those changes?
> list_add_tail(&p->node, &pinctrl_list); > + mutex_unlock(&pinctrl_list_mutex);
| |