lkml.org 
[lkml]   [2011]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] genirq: incorrect unlock in __setup_irq()
On Thu, Mar 17, 2011 at 02:43:07PM +0300, Dan Carpenter wrote:
> goto out_thread is called before we take the lock. It causes a gcc
> warning: "kernel/irq/manage.c:858: warning: ???flags??? may be used
> uninitialized in this function"
>
> Signed-off-by: Dan Carpenter <error27@gmail.com>
>
> diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
> index acd599a..cdcdf13 100644
> --- a/kernel/irq/manage.c
> +++ b/kernel/irq/manage.c
> @@ -1065,9 +1065,9 @@ mismatch:
>
> out_mask:
> free_cpumask_var(mask);
> + raw_spin_unlock_irqrestore(&desc->lock, flags);
>
> out_thread:
> - raw_spin_unlock_irqrestore(&desc->lock, flags);

That's more than a warning fix, this is a real bug.

Acked-by: Steven Rostedt <rostedt@goodims.org>

-- Steve

> if (new->thread) {
> struct task_struct *t = new->thread;
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/


\
 
 \ /
  Last update: 2011-03-17 21:11    [W:0.217 / U:0.284 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site