From: Li Dongyang Date: Tue, 4 Mar 2014 06:10:49 +0000 (+1100) Subject: LU-4703 mdd: do not skip xattr sanity check for all cases X-Git-Tag: 2.4.3~3 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=4ada710e9d657e1eb403e0d86029b12098f08c86;p=fs%2Flustre-release.git LU-4703 mdd: do not skip xattr sanity check for all cases 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 Signed-off-by: Bob Glossman Reviewed-by: Andreas Dilger Reviewed-by: Oleg Drokin Change-Id: Ic763424b2a20dab00c7e62de1f5c8553cd0cdaa8 Reviewed-on: http://review.whamcloud.com/9558 Tested-by: Jenkins Tested-by: Maloo --- diff --git a/lustre/mdd/mdd_object.c b/lustre/mdd/mdd_object.c index 42f514d..87d7d35 100644 --- a/lustre/mdd/mdd_object.c +++ b/lustre/mdd/mdd_object.c @@ -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));