diff options
author | Ming Lei <ming.lei@canonical.com> | 2012-06-22 10:01:40 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-07-17 01:04:25 (GMT) |
commit | d1c6c030fcec6f860d9bb6c632a3ebe62e28440b (patch) | |
tree | 1a6bbf92f2da6f0df73efb6725de990bb63e4853 /drivers/base/dd.c | |
parent | 6fbfd0592ef88ba29cdce84ef92757351f1fa9c9 (diff) | |
download | linux-fsl-qoriq-d1c6c030fcec6f860d9bb6c632a3ebe62e28440b.tar.xz |
driver core: fix shutdown races with probe/remove(v3)
Firstly, .shutdown callback may touch a uninitialized hardware
if dev->driver is set and .probe is not completed.
Secondly, device_shutdown() may dereference a null pointer to cause
oops when dev->driver is cleared after it has been checked in
device_shutdown().
So just hold device lock and its parent lock(if it has) to
fix the races.
Cc: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base/dd.c')
0 files changed, 0 insertions, 0 deletions