[RFC 4/5] user namespaces: allow killing tasks in your own or child userns

Eric W. Biederman ebiederm at xmission.com
Fri Dec 17 12:17:58 PST 2010


"Serge E. Hallyn" <serge at hallyn.com> writes:

> Quoting Eric W. Biederman (ebiederm at xmission.com):
>> > --- a/kernel/signal.c
>> > +++ b/kernel/signal.c
>> > @@ -659,11 +686,7 @@ static int check_kill_permission(int sig, struct siginfo *info,
>> >  	cred = current_cred();
>> >  	tcred = __task_cred(t);
>> Nit pick  you don't need to compute cred and tcred here now.
>
> Just to make sure I understand right: you mean wait until after the
> same_thread_group() check to save calculation in that case, right?

I mean cred and tcred are only use in kill_ok_by_cred.
So we can eliminate those two variables from check_kill_permission.

>> >  	if (!same_thread_group(current, t) &&
>> > -	    (cred->euid ^ tcred->suid) &&
>> > -	    (cred->euid ^ tcred->uid) &&
>> > -	    (cred->uid  ^ tcred->suid) &&
>> > -	    (cred->uid  ^ tcred->uid) &&
>> > -	    !capable(CAP_KILL)) {
>> > +	    !kill_ok_by_cred(t)) {
>> >  		switch (sig) {
>> >  		case SIGCONT:
>> >  			sid = task_session(t);


Eric


More information about the Containers mailing list