All of lore.kernel.org
 help / color / mirror / Atom feed
From: Serge Hallyn <serge.hallyn@canonical.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: linux-security-module@vger.kernel.org,
	Linux Containers <containers@lists.linux-foundation.org>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	linux-kernel@vger.kernel.org,
	Martin Schwidefsky <schwidefsky@de.ibm.com>
Subject: Re: [PATCH 11/14] userns: Convert s390 getting uid and gid system calls to use kuid and kgid
Date: Wed, 26 Sep 2012 12:59:21 -0500	[thread overview]
Message-ID: <20120926175921.GF30620@sergelap> (raw)
In-Reply-To: <1348187330-6616-11-git-send-email-ebiederm@xmission.com>

Quoting Eric W. Biederman (ebiederm@xmission.com):
> From: "Eric W. Biederman" <ebiederm@xmission.com>
> 
> Convert getresuid, getresgid, getuid, geteuid, getgid, getegid
> 
> Convert struct cred kuids and kgids into userspace uids and gids when
> returning them.
> 
> These s390 system calls slipped through the cracks in my first
> round of converstions :(
> 
> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
> Cc: Heiko Carstens <heiko.carstens@de.ibm.com>

Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>

> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
> ---
>  arch/s390/kernel/compat_linux.c |   36 ++++++++++++++++++++++++------------
>  1 files changed, 24 insertions(+), 12 deletions(-)
> 
> diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c
> index d122508..73995a7 100644
> --- a/arch/s390/kernel/compat_linux.c
> +++ b/arch/s390/kernel/compat_linux.c
> @@ -131,13 +131,19 @@ asmlinkage long sys32_setresuid16(u16 ruid, u16 euid, u16 suid)
>  		low2highuid(suid));
>  }
>  
> -asmlinkage long sys32_getresuid16(u16 __user *ruid, u16 __user *euid, u16 __user *suid)
> +asmlinkage long sys32_getresuid16(u16 __user *ruidp, u16 __user *euidp, u16 __user *suidp)
>  {
> +	const struct cred *cred = current_cred();
>  	int retval;
> +	u16 ruid, euid, suid;
>  
> -	if (!(retval = put_user(high2lowuid(current->cred->uid), ruid)) &&
> -	    !(retval = put_user(high2lowuid(current->cred->euid), euid)))
> -		retval = put_user(high2lowuid(current->cred->suid), suid);
> +	ruid = high2lowuid(from_kuid_munged(cred->user_ns, cred->uid));
> +	euid = high2lowuid(from_kuid_munged(cred->user_ns, cred->euid));
> +	suid = high2lowuid(from_kuid_munged(cred->user_ns, cred->suid));
> +
> +	if (!(retval   = put_user(ruid, ruidp)) &&
> +	    !(retval   = put_user(euid, euidp)))
> +		retval = put_user(suid, suidp);
>  
>  	return retval;
>  }
> @@ -148,13 +154,19 @@ asmlinkage long sys32_setresgid16(u16 rgid, u16 egid, u16 sgid)
>  		low2highgid(sgid));
>  }
>  
> -asmlinkage long sys32_getresgid16(u16 __user *rgid, u16 __user *egid, u16 __user *sgid)
> +asmlinkage long sys32_getresgid16(u16 __user *rgidp, u16 __user *egidp, u16 __user *sgidp)
>  {
> +	const struct cred *cred = current_cred();
>  	int retval;
> +	u16 rgid, egid, sgid;
> +
> +	rgid = high2lowgid(from_kgid_munged(cred->user_ns, cred->gid));
> +	egid = high2lowgid(from_kgid_munged(cred->user_ns, cred->egid));
> +	sgid = high2lowgid(from_kgid_munged(cred->user_ns, cred->sgid));
>  
> -	if (!(retval = put_user(high2lowgid(current->cred->gid), rgid)) &&
> -	    !(retval = put_user(high2lowgid(current->cred->egid), egid)))
> -		retval = put_user(high2lowgid(current->cred->sgid), sgid);
> +	if (!(retval   = put_user(rgid, rgidp)) &&
> +	    !(retval   = put_user(egid, egidp)))
> +		retval = put_user(sgid, sgidp);
>  
>  	return retval;
>  }
> @@ -258,22 +270,22 @@ asmlinkage long sys32_setgroups16(int gidsetsize, u16 __user *grouplist)
>  
>  asmlinkage long sys32_getuid16(void)
>  {
> -	return high2lowuid(current->cred->uid);
> +	return high2lowuid(from_kuid_munged(current_user_ns(), current_uid()));
>  }
>  
>  asmlinkage long sys32_geteuid16(void)
>  {
> -	return high2lowuid(current->cred->euid);
> +	return high2lowuid(from_kuid_munged(current_user_ns(), current_euid()));
>  }
>  
>  asmlinkage long sys32_getgid16(void)
>  {
> -	return high2lowgid(current->cred->gid);
> +	return high2lowgid(from_kgid_munged(current_user_ns(), current_gid()));
>  }
>  
>  asmlinkage long sys32_getegid16(void)
>  {
> -	return high2lowgid(current->cred->egid);
> +	return high2lowgid(from_kgid_munged(current_user_ns(), current_egid()));
>  }
>  
>  /*
> -- 
> 1.7.5.4
> 
> _______________________________________________
> Containers mailing list
> Containers@lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/containers

  parent reply	other threads:[~2012-09-26 17:59 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-21  0:26 [REVIEW][PATCH 00/14] userns: Miscelanous conversions Eric W. Biederman
     [not found] ` <87k3vote43.fsf-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-21  0:28   ` [PATCH 01/14] userns: Convert loop to use kuid_t instead of uid_t Eric W. Biederman
2012-09-21  0:28     ` Eric W. Biederman
     [not found]     ` <1348187330-6616-1-git-send-email-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-21  0:28       ` [PATCH 02/14] userns: Convert apparmor to use kuid and kgid where appropriate Eric W. Biederman
2012-09-21  0:28         ` Eric W. Biederman
2012-09-21  0:28       ` [PATCH 03/14] userns: Convert tomoyo " Eric W. Biederman
2012-09-21  0:28         ` Eric W. Biederman
2012-09-21  0:28       ` [PATCH 04/14] userns: Convert selinux " Eric W. Biederman
2012-09-21  0:28         ` Eric W. Biederman
2012-09-26 17:51         ` Serge Hallyn
     [not found]         ` <1348187330-6616-4-git-send-email-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-26 17:51           ` Serge Hallyn
2012-09-21  0:28       ` [PATCH 05/14] userns: Convert hostfs " Eric W. Biederman
2012-09-21  0:28         ` Eric W. Biederman
     [not found]         ` <1348187330-6616-5-git-send-email-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-23 21:59           ` Richard Weinberger
2012-09-23 21:59         ` Richard Weinberger
2012-09-24  2:39           ` Eric W. Biederman
     [not found]           ` <505F864C.2000103-/L3Ra7n9ekc@public.gmane.org>
2012-09-24  2:39             ` Eric W. Biederman
2012-09-24 14:55             ` Serge Hallyn
2012-09-24 14:55               ` Serge Hallyn
2012-09-21  0:28       ` [PATCH 06/14] userns: Convert EVM to deal with kuids and kgids in it's hmac computation Eric W. Biederman
2012-09-21  0:28         ` Eric W. Biederman
2012-09-21  0:28       ` [PATCH 07/14] userns: Add user namespace support to IMA Eric W. Biederman
2012-09-21  0:28         ` Eric W. Biederman
2012-09-21  0:28       ` [PATCH 08/14] userns: Teach security_path_chown to take kuids and kgids Eric W. Biederman
2012-09-21  0:28         ` Eric W. Biederman
2012-09-21  0:28       ` [PATCH 09/14] userns: Convert binder ipc to use kuids Eric W. Biederman
2012-09-21  0:28         ` Eric W. Biederman
     [not found]         ` <1348187330-6616-9-git-send-email-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-21  6:44           ` Greg Kroah-Hartman
2012-09-21  6:44             ` Greg Kroah-Hartman
2012-09-21  0:28       ` [PATCH 10/14] userns: Convert s390 hypfs to use kuid and kgid where appropriate Eric W. Biederman
2012-09-21  0:28         ` Eric W. Biederman
     [not found]         ` <1348187330-6616-10-git-send-email-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-26 17:52           ` Serge Hallyn
2012-09-26 17:52         ` Serge Hallyn
2012-09-21  0:28       ` [PATCH 11/14] userns: Convert s390 getting uid and gid system calls to use kuid and kgid Eric W. Biederman
2012-09-21  0:28         ` Eric W. Biederman
     [not found]         ` <1348187330-6616-11-git-send-email-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-26 17:59           ` Serge Hallyn
2012-09-26 17:59         ` Serge Hallyn [this message]
2012-09-21  0:28       ` [PATCH 12/14] userns: On ppc convert current_uid from a kuid before printing Eric W. Biederman
2012-09-21  0:28         ` Eric W. Biederman
     [not found]         ` <1348187330-6616-12-git-send-email-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-26 17:56           ` Serge Hallyn
2012-09-26 17:56         ` Serge Hallyn
2012-09-21  0:28       ` [PATCH 13/14] userns: On ia64 deal with current_uid and current_gid being kuid and kgid Eric W. Biederman
2012-09-21  0:28         ` Eric W. Biederman
     [not found]         ` <1348187330-6616-13-git-send-email-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-25  9:15           ` Zhao Hongjiang
     [not found]             ` <50617630.1050709-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-09-25  9:58               ` Eric W. Biederman
2012-09-26 17:55           ` Serge Hallyn
2012-09-26 17:55         ` Serge Hallyn
2012-09-21  0:28       ` [PATCH 14/14] userns: On alpha modify linux_to_osf_stat to use convert from kuids and kgids Eric W. Biederman
2012-09-21  0:28         ` Eric W. Biederman
2012-09-21  6:07       ` [PATCH 01/14] userns: Convert loop to use kuid_t instead of uid_t Jens Axboe
2012-09-21  6:07     ` Jens Axboe
     [not found]       ` <505C0438.9060907-5c4llco8/ftWk0Htik3J/w@public.gmane.org>
2012-09-21  7:07         ` Eric W. Biederman
2012-09-21  7:07           ` Eric W. Biederman
     [not found]           ` <87sjabsvkx.fsf-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-21  7:11             ` Jens Axboe
2012-09-21  7:11               ` Jens Axboe
     [not found]               ` <505C1331.8050907-5c4llco8/ftWk0Htik3J/w@public.gmane.org>
2012-09-21  7:19                 ` Eric W. Biederman
2012-09-21  7:19                   ` Eric W. Biederman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120926175921.GF30620@sergelap \
    --to=serge.hallyn@canonical.com \
    --cc=containers@lists.linux-foundation.org \
    --cc=ebiederm@xmission.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=schwidefsky@de.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.