driver core: platform: fix race condition with driver_override
authorAdrian Salido <salidoa@google.com>
Tue, 25 Apr 2017 23:55:26 +0000 (16:55 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 15 Jul 2017 09:57:44 +0000 (11:57 +0200)
commitc01ace719ebe6353f0c96e56f6c75c22ad3f67b0
tree8d7f40c3063789322736e237b929920c735d2573
parent4043d5bca587eab2dfcca5e2da7e770d16b127c8
driver core: platform: fix race condition with driver_override

commit 6265539776a0810b7ce6398c27866ddb9c6bd154 upstream.

The driver_override implementation is susceptible to race condition when
different threads are reading vs storing a different driver override.
Add locking to avoid race condition.

Fixes: 3d713e0e382e ("driver core: platform: add device binding path 'driver_override'")
Cc: stable@vger.kernel.org
Signed-off-by: Adrian Salido <salidoa@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/platform.c