aboutsummaryrefslogtreecommitdiff
path: root/lib/locking-selftest-wsem.h
diff options
context:
space:
mode:
authorSamu Onkalo <samu.p.onkalo@nokia.com>2010-02-19 23:17:58 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2010-02-20 01:23:55 -0800
commitd9c4f846997c6d37e4f56907d93f1be022c17c6b (patch)
treec8565964e0d4566d1b5ef912c12c64b773b00e70 /lib/locking-selftest-wsem.h
parent3b77fd8ee6a8ae34e349651e9d5f5000d1cc206e (diff)
Input: polldev can cause crash in case when polling disabled
When polled input device is opened and closed and there are no other users of polled device, the workqueue is created and destroyed in every open / close operation. It is probable that at some point dynamic allocation of internal parts of the workqueue cause changes to the workqueue. When a work is queued to the workqueue the work struct contains pointers to the workqueue data. If the workqueue has been changed and the work has never been queued to the new workqueue, work-struct contains pointers to the non-existing workqueue. This will cause crash at the work cancellation during device close since cancellation of a work assumes that the workqueue exists. To prevent that, work struct is cleaned up at device close. This keeps work struct clean for the next use. Signed-off-by: Samu Onkalo <samu.p.onkalo@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'lib/locking-selftest-wsem.h')
0 files changed, 0 insertions, 0 deletions