fs/hfsplus: move xattr_name allocation in hfsplus_setxattr()
[firefly-linux-kernel-4.4.55.git] / fs / hfsplus / xattr_trusted.c
index 0b7d78f2d4e9198b1f23ef3aa71f1d7a29b3f70d..bcf65089b7f7f11179d2304a9cee613664d8bd55 100644 (file)
@@ -22,22 +22,8 @@ static int hfsplus_trusted_getxattr(struct dentry *dentry, const char *name,
 static int hfsplus_trusted_setxattr(struct dentry *dentry, const char *name,
                const void *buffer, size_t size, int flags, int type)
 {
-       char *xattr_name;
-       int res;
-
-       if (!strcmp(name, ""))
-               return -EINVAL;
-
-       xattr_name = kmalloc(NLS_MAX_CHARSET_SIZE * HFSPLUS_ATTR_MAX_STRLEN + 1,
-               GFP_KERNEL);
-       if (!xattr_name)
-               return -ENOMEM;
-       strcpy(xattr_name, XATTR_TRUSTED_PREFIX);
-       strcpy(xattr_name + XATTR_TRUSTED_PREFIX_LEN, name);
-
-       res = hfsplus_setxattr(dentry, xattr_name, buffer, size, flags);
-       kfree(xattr_name);
-       return res;
+       return hfsplus_setxattr(dentry, name, buffer, size, flags,
+                               XATTR_TRUSTED_PREFIX, XATTR_TRUSTED_PREFIX_LEN);
 }
 
 static size_t hfsplus_trusted_listxattr(struct dentry *dentry, char *list,