diff options
author | Rabin Vincent <rabin@rab.in> | 2012-01-29 12:17:33 -0600 |
---|---|---|
committer | Wu Fengguang <fengguang.wu@intel.com> | 2012-02-01 16:52:49 +0800 |
commit | 2673b4cf5d59c3ee5e0c12f6d734d38770324dc4 (patch) | |
tree | abef3ab4517f06b629f5dc4c516c135165cf7d81 /fs/fuse/dev.c | |
parent | 62aa2b537c6f5957afd98e29f96897419ed5ebab (diff) | |
download | lwn-2673b4cf5d59c3ee5e0c12f6d734d38770324dc4.tar.gz lwn-2673b4cf5d59c3ee5e0c12f6d734d38770324dc4.zip |
backing-dev: fix wakeup timer races with bdi_unregister()
While 7a401a972df8e18 ("backing-dev: ensure wakeup_timer is deleted")
addressed the problem of the bdi being freed with a queued wakeup
timer, there are other races that could happen if the wakeup timer
expires after/during bdi_unregister(), before bdi_destroy() is called.
wakeup_timer_fn() could attempt to wakeup a task which has already has
been freed, or could access a NULL bdi->dev via the wake_forker_thread
tracepoint.
Cc: <stable@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>
Reported-by: Chanho Min <chanho.min@lge.com>
Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Diffstat (limited to 'fs/fuse/dev.c')
0 files changed, 0 insertions, 0 deletions