Re: um: WARNING: at kernel/futex.c:786 __unqueue_futex

From: richard -rw- weinberger
Date: Thu Mar 17 2011 - 13:19:11 EST


On Thu, Mar 17, 2011 at 5:55 PM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> Here, test this patch. I'm in the process of committing it now.
> It will be two patches, one for the WARN_ON_SMP() change, the other for
> the futex change.
>
> -- Steve
>
> diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h
> index c2c9ba0..25f1e9e 100644
> --- a/include/asm-generic/bug.h
> +++ b/include/asm-generic/bug.h
> @@ -168,7 +168,7 @@ extern void warn_slowpath_null(const char *file, const int line);
>  #ifdef CONFIG_SMP
>  # define WARN_ON_SMP(x)                        WARN_ON(x)
>  #else
> -# define WARN_ON_SMP(x)                        do { } while (0)
> +# define WARN_ON_SMP(x)                        ({0;})
>  #endif
>
>  #endif
> diff --git a/kernel/futex.c b/kernel/futex.c
> index 9fe9131..850d00b 100644
> --- a/kernel/futex.c
> +++ b/kernel/futex.c
> @@ -785,8 +785,8 @@ static void __unqueue_futex(struct futex_q *q)
>  {
>        struct futex_hash_bucket *hb;
>
> -       if (WARN_ON(!q->lock_ptr || !spin_is_locked(q->lock_ptr)
> -                       || plist_node_empty(&q->list)))
> +       if (WARN_ON_SMP(!q->lock_ptr || !spin_is_locked(q->lock_ptr))
> +           || WARN_ON(plist_node_empty(&q->list)))
>                return;
>
>        hb = container_of(q->lock_ptr, struct futex_hash_bucket, lock);
>
>
>

Tested-by: Richard Weinberger <richard@xxxxxx>

--
Thanks,
//richard
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/