Re: [PATCH] unshare: Use rcu_assign_pointer when setting sighand

From: Oleg Nesterov
Date: Fri Mar 17 2006 - 12:45:34 EST


"Eric W. Biederman" wrote:
>
> @@ -1573,7 +1573,7 @@ asmlinkage long sys_unshare(unsigned lon
>
> if (new_sigh) {
> sigh = current->sighand;
> - current->sighand = new_sigh;
> + rcu_assign_pointer(current->sighand, new_sigh);
> new_sigh = sigh;
> }

Isn't it better to just replace this code with
'BUG_ON(new_sigh != NULL)' ?

It is never executed, but totally broken, afaics.
task_lock() has nothing to do with ->sighand changing.

Oleg.
-
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/