Whamcloud - gitweb
LU-4703 mdd: do not skip xattr sanity check for all cases 58/9558/2
authorLi Dongyang <dongyang.li@anu.edu.au>
Tue, 4 Mar 2014 06:10:49 +0000 (17:10 +1100)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 10 Mar 2014 22:19:01 +0000 (22:19 +0000)
xattr sanity check should be done at all times.
Otherwise we are risking letting a non root user setting
access acl on any file.

Lustre-commit: 6d7066989c06bdf6c86f5b8b61d542fda8e5739e
Lustre-change: http://review.whamcloud.com/9469

Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Change-Id: Ic763424b2a20dab00c7e62de1f5c8553cd0cdaa8
Reviewed-on: http://review.whamcloud.com/9558
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
lustre/mdd/mdd_object.c

index 42f514d..87d7d35 100644 (file)
@@ -1025,15 +1025,15 @@ static int mdd_xattr_set(const struct lu_env *env, struct md_object *obj,
        int                      rc;
         ENTRY;
 
+       rc = mdd_xattr_sanity_check(env, mdd_obj);
+       if (rc)
+               RETURN(rc);
+
        if (!strcmp(name, XATTR_NAME_ACL_ACCESS)) {
                rc = mdd_acl_set(env, mdd_obj, buf, fl);
                RETURN(rc);
        }
 
-       rc = mdd_xattr_sanity_check(env, mdd_obj);
-       if (rc)
-               RETURN(rc);
-
        handle = mdd_trans_create(env, mdd);
        if (IS_ERR(handle))
                RETURN(PTR_ERR(handle));