[PATCH 2/7] uvesafb: always use mutexes when accessing uvfb_tasks
Accesses to the uvfb_tasks array should be always be protected by a mutex to avoid race conditions. Signed-off-by: Michal Januszewski <[EMAIL PROTECTED]> --- diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c index aa5a9c3..e480670 100644 --- a/drivers/video/uvesafb.c +++ b/drivers/video/uvesafb.c @@ -208,6 +208,10 @@ static int uvesafb_exec(struct uvesafb_ktask *task) err = !wait_for_completion_timeout(task->done, msecs_to_jiffies(UVESAFB_TIMEOUT)); + mutex_lock(_lock); + uvfb_tasks[seq] = NULL; + mutex_unlock(_lock); + seq++; if (seq >= UVESAFB_TASKS_MAX) seq = 0; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 2/7] uvesafb: always use mutexes when accessing uvfb_tasks
Accesses to the uvfb_tasks array should be always be protected by a mutex to avoid race conditions. Signed-off-by: Michal Januszewski [EMAIL PROTECTED] --- diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c index aa5a9c3..e480670 100644 --- a/drivers/video/uvesafb.c +++ b/drivers/video/uvesafb.c @@ -208,6 +208,10 @@ static int uvesafb_exec(struct uvesafb_ktask *task) err = !wait_for_completion_timeout(task-done, msecs_to_jiffies(UVESAFB_TIMEOUT)); + mutex_lock(uvfb_lock); + uvfb_tasks[seq] = NULL; + mutex_unlock(uvfb_lock); + seq++; if (seq = UVESAFB_TASKS_MAX) seq = 0; - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/