mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
userns: Teach security_path_chown to take kuids and kgids
Don't make the security modules deal with raw user space uid and gids instead pass in a kuid_t and a kgid_t so that security modules only have to deal with internal kernel uids and gids. Cc: Al Viro <[email protected]> Cc: James Morris <[email protected]> Cc: John Johansen <[email protected]> Cc: Kentaro Takeda <[email protected]> Cc: Tetsuo Handa <[email protected]> Acked-by: Serge Hallyn <[email protected]> Signed-off-by: Eric W. Biederman <[email protected]>
This commit is contained in:
parent
8b94eea4bf
commit
d2b31ca644
6 changed files with 14 additions and 12 deletions
|
|
@ -373,13 +373,15 @@ static int tomoyo_path_chmod(struct path *path, umode_t mode)
|
|||
*
|
||||
* Returns 0 on success, negative value otherwise.
|
||||
*/
|
||||
static int tomoyo_path_chown(struct path *path, uid_t uid, gid_t gid)
|
||||
static int tomoyo_path_chown(struct path *path, kuid_t uid, kgid_t gid)
|
||||
{
|
||||
int error = 0;
|
||||
if (uid != (uid_t) -1)
|
||||
error = tomoyo_path_number_perm(TOMOYO_TYPE_CHOWN, path, uid);
|
||||
if (!error && gid != (gid_t) -1)
|
||||
error = tomoyo_path_number_perm(TOMOYO_TYPE_CHGRP, path, gid);
|
||||
if (uid_valid(uid))
|
||||
error = tomoyo_path_number_perm(TOMOYO_TYPE_CHOWN, path,
|
||||
from_kuid(&init_user_ns, uid));
|
||||
if (!error && gid_valid(gid))
|
||||
error = tomoyo_path_number_perm(TOMOYO_TYPE_CHGRP, path,
|
||||
from_kgid(&init_user_ns, gid));
|
||||
return error;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue