Re: [RFC][PATCH 4.4-stable] regulator: core: Ensure we lock all regulators

From: John Stultz
Date: Fri May 06 2016 - 13:57:09 EST


On Fri, May 6, 2016 at 9:06 AM, Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> On Thu, Apr 28, 2016 at 05:43:37PM -0700, John Stultz wrote:
>> It seems upstream commit 49a6bb7a1c09 ("regulator: core: Ensure
>> we lock all regulators"), was missed when considering tagging
>> for -stable.
>>
>> Without this varient of that patch (the original doesn't apply,
>> due to a later fix to the same which was backported), I see
>> double-unlock lockdep splats in the v4.4.8 based HiKey kernel.
>>
>> Cc: Mark Brown <broonie@xxxxxxxxxx>
>> Cc: Tyler Baker <tyler.baker@xxxxxxxxxx>
>> Cc: Thierry Reding <treding@xxxxxxxxxx>
>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>> CC: stable <stable@xxxxxxxxxxxxxxx> # 4.4 only (I think)
>> Fixes: 3c2c5fb9b99ca ("regulator: core: avoid unused variable warning")
>> Originally-Reported-by: Tyler Baker <tyler.baker@xxxxxxxxxx>
>> Originally-by: Mark Brown <broonie@xxxxxxxxxx>
>> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
>> ---
>> drivers/regulator/core.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
>> index 7b94b8e..732ac71 100644
>> --- a/drivers/regulator/core.c
>> +++ b/drivers/regulator/core.c
>> @@ -148,7 +148,7 @@ static void regulator_lock_supply(struct regulator_dev *rdev)
>> {
>> int i;
>>
>> - for (i = 0; rdev->supply; rdev = rdev_get_supply(rdev), i++)
>> + for (i = 0; rdev; rdev = rdev_get_supply(rdev), i++)
>> mutex_lock_nested(&rdev->mutex, i);
>> }
>>
>
> This should now all be fixed in 4.4.9, and this patch isn't needed,
> right?

Yea. Looks right to me in 4.4.9.

thanks!
-john