diff options
author | Ming Lei <ming.lei@canonical.com> | 2016-07-10 19:27:36 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-08-31 15:13:55 +0200 |
commit | cebf8fd16900fdfd58c0028617944f808f97fe50 (patch) | |
tree | b4042d299494ce09ce38e37186191456fd0dfa2b /drivers/hid | |
parent | 24ef5f360f22e4408cb49d75755d27d5a21820f7 (diff) | |
download | linux-cebf8fd16900fdfd58c0028617944f808f97fe50.tar.bz2 |
driver core: fix race between creating/querying glue dir and its cleanup
The global mutex of 'gdp_mutex' is used to serialize creating/querying
glue dir and its cleanup. Turns out it isn't a perfect way because
part(kobj_kset_leave()) of the actual cleanup action() is done inside
the release handler of the glue dir kobject. That means gdp_mutex has
to be held before releasing the last reference count of the glue dir
kobject.
This patch moves glue dir's cleanup after kobject_del() in device_del()
for avoiding the race.
Cc: Yijing Wang <wangyijing@huawei.com>
Reported-by: Chandra Sekhar Lingutla <clingutla@codeaurora.org>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hid')
0 files changed, 0 insertions, 0 deletions