|
@@ -570,6 +570,7 @@ static int chown_common(struct path *path, uid_t user, gid_t group)
|
|
|
uid = make_kuid(current_user_ns(), user);
|
|
|
gid = make_kgid(current_user_ns(), group);
|
|
|
|
|
|
+retry_deleg:
|
|
|
newattrs.ia_valid = ATTR_CTIME;
|
|
|
if (user != (uid_t) -1) {
|
|
|
if (!uid_valid(uid))
|
|
@@ -586,7 +587,6 @@ static int chown_common(struct path *path, uid_t user, gid_t group)
|
|
|
if (!S_ISDIR(inode->i_mode))
|
|
|
newattrs.ia_valid |=
|
|
|
ATTR_KILL_SUID | ATTR_KILL_SGID | ATTR_KILL_PRIV;
|
|
|
-retry_deleg:
|
|
|
mutex_lock(&inode->i_mutex);
|
|
|
error = security_path_chown(path, uid, gid);
|
|
|
if (!error)
|