ANDROID: sdcardfs: Fix gid issue
We were already calculating most of these values, and erroring out because the check was confused by this. Instead of recalculating, adjust it as needed. Signed-off-by: Daniel Rosenberg <drosen@google.com> Bug: 36160015 Change-Id: I9caf3e2fd32ca2e37ff8ed71b1d392f1761bc9a9
This commit is contained in:
parent
21e658825e
commit
72edd91358
2 changed files with 6 additions and 14 deletions
|
@ -207,13 +207,13 @@ void fixup_lower_ownership(struct dentry *dentry, const char *name)
|
|||
break;
|
||||
case PERM_ANDROID_PACKAGE:
|
||||
if (info->d_uid != 0)
|
||||
gid = multiuser_get_ext_gid(info->userid, info->d_uid);
|
||||
gid = multiuser_get_ext_gid(info->d_uid);
|
||||
else
|
||||
gid = multiuser_get_uid(info->userid, uid);
|
||||
break;
|
||||
case PERM_ANDROID_PACKAGE_CACHE:
|
||||
if (info->d_uid != 0)
|
||||
gid = multiuser_get_cache_gid(info->userid, info->d_uid);
|
||||
gid = multiuser_get_cache_gid(info->d_uid);
|
||||
else
|
||||
gid = multiuser_get_uid(info->userid, uid);
|
||||
break;
|
||||
|
|
|
@ -33,20 +33,12 @@ static inline uid_t multiuser_get_uid(userid_t user_id, appid_t app_id)
|
|||
return (user_id * AID_USER_OFFSET) + (app_id % AID_USER_OFFSET);
|
||||
}
|
||||
|
||||
static inline gid_t multiuser_get_cache_gid(userid_t user_id, appid_t app_id)
|
||||
static inline gid_t multiuser_get_cache_gid(uid_t uid)
|
||||
{
|
||||
if (app_id >= AID_APP_START && app_id <= AID_APP_END) {
|
||||
return multiuser_get_uid(user_id, (app_id - AID_APP_START) + AID_CACHE_GID_START);
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
return uid - AID_APP_START + AID_CACHE_GID_START;
|
||||
}
|
||||
|
||||
static inline gid_t multiuser_get_ext_gid(userid_t user_id, appid_t app_id)
|
||||
static inline gid_t multiuser_get_ext_gid(uid_t uid)
|
||||
{
|
||||
if (app_id >= AID_APP_START && app_id <= AID_APP_END) {
|
||||
return multiuser_get_uid(user_id, (app_id - AID_APP_START) + AID_EXT_GID_START);
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
return uid - AID_APP_START + AID_EXT_GID_START;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue