diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2012-02-07 19:30:06 -0500 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2012-09-21 06:13:34 -0400 |
commit | df814654f364369dfb2fe3c870f3544ce69aa78c (patch) | |
tree | 5376a07f39e2a9c7ad40692ff148a5d95210d893 /fs/reiserfs/inode.c | |
parent | c18cdc1a3ec643b5c6c0d65aac1a6bf8e461778f (diff) |
userns: Convert reiserfs to use kuid and kgid where appropriate
Cc: reiserfs-devel@vger.kernel.org
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Diffstat (limited to 'fs/reiserfs/inode.c')
-rw-r--r-- | fs/reiserfs/inode.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index a6d4268fb6c1..7119f488d9cd 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c | |||
@@ -1155,8 +1155,8 @@ static void init_inode(struct inode *inode, struct treepath *path) | |||
1155 | set_inode_sd_version(inode, STAT_DATA_V1); | 1155 | set_inode_sd_version(inode, STAT_DATA_V1); |
1156 | inode->i_mode = sd_v1_mode(sd); | 1156 | inode->i_mode = sd_v1_mode(sd); |
1157 | set_nlink(inode, sd_v1_nlink(sd)); | 1157 | set_nlink(inode, sd_v1_nlink(sd)); |
1158 | inode->i_uid = sd_v1_uid(sd); | 1158 | i_uid_write(inode, sd_v1_uid(sd)); |
1159 | inode->i_gid = sd_v1_gid(sd); | 1159 | i_gid_write(inode, sd_v1_gid(sd)); |
1160 | inode->i_size = sd_v1_size(sd); | 1160 | inode->i_size = sd_v1_size(sd); |
1161 | inode->i_atime.tv_sec = sd_v1_atime(sd); | 1161 | inode->i_atime.tv_sec = sd_v1_atime(sd); |
1162 | inode->i_mtime.tv_sec = sd_v1_mtime(sd); | 1162 | inode->i_mtime.tv_sec = sd_v1_mtime(sd); |
@@ -1200,9 +1200,9 @@ static void init_inode(struct inode *inode, struct treepath *path) | |||
1200 | 1200 | ||
1201 | inode->i_mode = sd_v2_mode(sd); | 1201 | inode->i_mode = sd_v2_mode(sd); |
1202 | set_nlink(inode, sd_v2_nlink(sd)); | 1202 | set_nlink(inode, sd_v2_nlink(sd)); |
1203 | inode->i_uid = sd_v2_uid(sd); | 1203 | i_uid_write(inode, sd_v2_uid(sd)); |
1204 | inode->i_size = sd_v2_size(sd); | 1204 | inode->i_size = sd_v2_size(sd); |
1205 | inode->i_gid = sd_v2_gid(sd); | 1205 | i_gid_write(inode, sd_v2_gid(sd)); |
1206 | inode->i_mtime.tv_sec = sd_v2_mtime(sd); | 1206 | inode->i_mtime.tv_sec = sd_v2_mtime(sd); |
1207 | inode->i_atime.tv_sec = sd_v2_atime(sd); | 1207 | inode->i_atime.tv_sec = sd_v2_atime(sd); |
1208 | inode->i_ctime.tv_sec = sd_v2_ctime(sd); | 1208 | inode->i_ctime.tv_sec = sd_v2_ctime(sd); |
@@ -1258,9 +1258,9 @@ static void inode2sd(void *sd, struct inode *inode, loff_t size) | |||
1258 | 1258 | ||
1259 | set_sd_v2_mode(sd_v2, inode->i_mode); | 1259 | set_sd_v2_mode(sd_v2, inode->i_mode); |
1260 | set_sd_v2_nlink(sd_v2, inode->i_nlink); | 1260 | set_sd_v2_nlink(sd_v2, inode->i_nlink); |
1261 | set_sd_v2_uid(sd_v2, inode->i_uid); | 1261 | set_sd_v2_uid(sd_v2, i_uid_read(inode)); |
1262 | set_sd_v2_size(sd_v2, size); | 1262 | set_sd_v2_size(sd_v2, size); |
1263 | set_sd_v2_gid(sd_v2, inode->i_gid); | 1263 | set_sd_v2_gid(sd_v2, i_gid_read(inode)); |
1264 | set_sd_v2_mtime(sd_v2, inode->i_mtime.tv_sec); | 1264 | set_sd_v2_mtime(sd_v2, inode->i_mtime.tv_sec); |
1265 | set_sd_v2_atime(sd_v2, inode->i_atime.tv_sec); | 1265 | set_sd_v2_atime(sd_v2, inode->i_atime.tv_sec); |
1266 | set_sd_v2_ctime(sd_v2, inode->i_ctime.tv_sec); | 1266 | set_sd_v2_ctime(sd_v2, inode->i_ctime.tv_sec); |
@@ -1280,8 +1280,8 @@ static void inode2sd_v1(void *sd, struct inode *inode, loff_t size) | |||
1280 | struct stat_data_v1 *sd_v1 = (struct stat_data_v1 *)sd; | 1280 | struct stat_data_v1 *sd_v1 = (struct stat_data_v1 *)sd; |
1281 | 1281 | ||
1282 | set_sd_v1_mode(sd_v1, inode->i_mode); | 1282 | set_sd_v1_mode(sd_v1, inode->i_mode); |
1283 | set_sd_v1_uid(sd_v1, inode->i_uid); | 1283 | set_sd_v1_uid(sd_v1, i_uid_read(inode)); |
1284 | set_sd_v1_gid(sd_v1, inode->i_gid); | 1284 | set_sd_v1_gid(sd_v1, i_gid_read(inode)); |
1285 | set_sd_v1_nlink(sd_v1, inode->i_nlink); | 1285 | set_sd_v1_nlink(sd_v1, inode->i_nlink); |
1286 | set_sd_v1_size(sd_v1, size); | 1286 | set_sd_v1_size(sd_v1, size); |
1287 | set_sd_v1_atime(sd_v1, inode->i_atime.tv_sec); | 1287 | set_sd_v1_atime(sd_v1, inode->i_atime.tv_sec); |
@@ -1869,7 +1869,7 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th, | |||
1869 | goto out_bad_inode; | 1869 | goto out_bad_inode; |
1870 | } | 1870 | } |
1871 | if (old_format_only(sb)) { | 1871 | if (old_format_only(sb)) { |
1872 | if (inode->i_uid & ~0xffff || inode->i_gid & ~0xffff) { | 1872 | if (i_uid_read(inode) & ~0xffff || i_gid_read(inode) & ~0xffff) { |
1873 | pathrelse(&path_to_key); | 1873 | pathrelse(&path_to_key); |
1874 | /* i_uid or i_gid is too big to be stored in stat data v3.5 */ | 1874 | /* i_uid or i_gid is too big to be stored in stat data v3.5 */ |
1875 | err = -EINVAL; | 1875 | err = -EINVAL; |
@@ -3140,16 +3140,16 @@ int reiserfs_setattr(struct dentry *dentry, struct iattr *attr) | |||
3140 | } | 3140 | } |
3141 | } | 3141 | } |
3142 | 3142 | ||
3143 | if ((((attr->ia_valid & ATTR_UID) && (attr->ia_uid & ~0xffff)) || | 3143 | if ((((attr->ia_valid & ATTR_UID) && (from_kuid(&init_user_ns, attr->ia_uid) & ~0xffff)) || |
3144 | ((attr->ia_valid & ATTR_GID) && (attr->ia_gid & ~0xffff))) && | 3144 | ((attr->ia_valid & ATTR_GID) && (from_kgid(&init_user_ns, attr->ia_gid) & ~0xffff))) && |
3145 | (get_inode_sd_version(inode) == STAT_DATA_V1)) { | 3145 | (get_inode_sd_version(inode) == STAT_DATA_V1)) { |
3146 | /* stat data of format v3.5 has 16 bit uid and gid */ | 3146 | /* stat data of format v3.5 has 16 bit uid and gid */ |
3147 | error = -EINVAL; | 3147 | error = -EINVAL; |
3148 | goto out; | 3148 | goto out; |
3149 | } | 3149 | } |
3150 | 3150 | ||
3151 | if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) || | 3151 | if ((ia_valid & ATTR_UID && !uid_eq(attr->ia_uid, inode->i_uid)) || |
3152 | (ia_valid & ATTR_GID && attr->ia_gid != inode->i_gid)) { | 3152 | (ia_valid & ATTR_GID && !gid_eq(attr->ia_gid, inode->i_gid))) { |
3153 | struct reiserfs_transaction_handle th; | 3153 | struct reiserfs_transaction_handle th; |
3154 | int jbegin_count = | 3154 | int jbegin_count = |
3155 | 2 * | 3155 | 2 * |