Ashay Jaiswal
83b0302d34
regulator: core: fix race condition in regulator_put()
...
The regulator framework maintains a list of consumer regulators
for a regulator device and protects it from concurrent access using
the regulator device's mutex lock.
In the case of regulator_put() the consumer is removed and regulator
device's parameters are updated without holding the regulator device's
mutex. This would lead to a race condition between the regulator_put()
and any function which traverses the consumer list or modifies regulator
device's parameters.
Fix this race condition by holding the regulator device's mutex in case
of regulator_put.
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
2015-01-08 18:15:35 +00:00
..
2014-10-20 16:21:29 +02:00
2014-12-14 16:10:09 -08:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-12-01 19:33:44 +00:00
2013-09-17 00:27:55 +01:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2015-01-08 18:15:35 +00:00
2014-10-20 16:21:29 +02:00
2014-12-14 16:10:09 -08:00
2014-10-20 16:21:29 +02:00
2014-12-14 16:10:09 -08:00
2014-11-26 18:58:14 +00:00
2013-08-06 17:46:15 +01:00
2014-09-30 13:50:25 +01:00
2014-08-16 16:46:22 -05:00
2014-10-20 16:21:29 +02:00
2014-03-19 10:19:49 +00:00
2013-04-02 23:05:28 +01:00
2014-05-23 18:55:23 +01:00
2014-12-14 16:10:09 -08:00
2010-10-28 22:40:32 +01:00
2014-11-26 18:58:14 +00:00
2012-06-19 23:22:30 +01:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-03-06 17:30:10 +08:00
2014-10-20 16:21:29 +02:00
2014-09-10 16:40:07 +01:00
2013-09-17 00:28:42 +01:00
2014-09-10 12:18:56 +01:00
2014-12-08 20:42:41 -08:00
2014-07-28 13:19:23 +01:00
2014-02-20 01:28:12 +09:00
2013-11-24 14:02:18 +00:00
2014-07-09 11:44:01 +02:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-09-26 09:22:50 +01:00
2014-11-14 17:55:07 +00:00
2014-11-03 15:36:50 +00:00
2014-06-02 15:12:16 +01:00
2014-11-03 15:55:53 +00:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-12-05 11:14:37 +00:00
2014-11-26 18:58:14 +00:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-10-20 16:21:29 +02:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-11-26 18:58:14 +00:00
2014-06-09 20:50:35 +01:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-11-26 20:37:57 +00:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2013-12-02 17:58:58 +00:00
2014-05-27 12:25:57 +01:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-10-20 16:21:29 +02:00
2014-12-14 16:10:09 -08:00
2014-10-20 12:23:59 +01:00
2014-11-14 17:55:07 +00:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-12-02 12:22:39 +00:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-02-20 20:54:59 +09:00
2014-10-20 16:21:29 +02:00
2014-11-26 18:58:14 +00:00
2014-11-26 18:58:14 +00:00
2014-08-12 22:55:55 +01:00
2014-12-14 16:10:09 -08:00
2014-09-10 12:02:48 +01:00
2014-12-14 16:10:09 -08:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-12-14 16:10:09 -08:00
2013-07-30 12:24:20 +01:00
2014-12-14 16:10:09 -08:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-10-20 16:21:29 +02:00
2014-02-19 13:24:12 +09:00
2013-10-24 11:11:37 +01:00
2014-12-14 16:10:09 -08:00