Re: [PATCH] futex: fix unbalanced spin_lock/spin_unlock() in exit_pi_state_list()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 1, 2013 at 9:36 AM, Yong Zhang <yong.zhang0@xxxxxxxxx> wrote:
> --- a/kernel/futex.c
> +++ b/kernel/futex.c
> @@ -562,16 +562,17 @@ void exit_pi_state_list(struct task_struct *curr)
>
>                 spin_lock(&hb->lock);
>
> -               raw_spin_lock_irq(&curr->pi_lock);
>                 /*
>                  * We dropped the pi-lock, so re-check whether this
>                  * task still owns the PI-state:
>                  */
>                 if (head->next != next) {

Just ignore this patch, race window is opened here.
New patch comes soon.

Thanks,
Yong

>                         spin_unlock(&hb->lock);
> +                       raw_spin_lock_irq(&curr->pi_lock);
>                         continue;
>                 }
>
> +               raw_spin_lock_irq(&curr->pi_lock);
>                 WARN_ON(pi_state->owner != curr);
>                 WARN_ON(list_empty(&pi_state->list));
>                 list_del_init(&pi_state->list);
> --
> 1.7.9.5
>



-- 
Only stand for myself
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux