Re: [PATCH] selinux_bprm_committed_creds: use __wake_up_parent()

From: Oleg Nesterov
Date: Sat Jul 04 2009 - 04:18:34 EST


On 07/03, Andrew Morton wrote:
>
> On Fri, 3 Jul 2009 11:23:11 +0200 Oleg Nesterov <oleg@xxxxxxxxxx> wrote:
>
> > (depends on ptrace-__ptrace_detach-do-__wake_up_parent-if-we-reap-the-tracee.patch
> > which exports __wake_up_parent)
> >
> > Spotted by Valdis.Kletnieks@xxxxxxx
> >
> > selinux_bprm_committed_creds() should not play with ->wait_chldexit, now
> > that __wake_up_parent() is exported change the code to use this helper.
>
> That's a bit vague. Why shouldn't it play with wait_chldexit? What
> changed to make that wrong?

The code was correct (btw, sorry if my message looked as if it is not).

But we should not play with "internal" structures outside of signal/exit
code. So this change is imho good regardless, __wake_up_parent() should
be used to notify threads sleeping in do_wait().

However, __wake_up_parent() was not exported, that is why _committed_creds()
does wake_up by hand.

> Is this a -mm fix? If so, which -mm patch introduced the problem?

Yes, my fault.

do_wait-wakeup-optimization-change-__wake_up_parent-to-use-filtered-wakeup.patch

assumes that __wake_up_parent() should be always used.

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/