On Wed, Nov 9, 2016 at 11:48 AM, Christoph Hellwig <h...@infradead.org> wrote:
>> +/*
>> + * Callback for security_inode_init_security() for acquiring xattrs.
>> + */
>> +static int mqueue_initxattrs(struct inode *inode,
>> +                         const struct xattr *xattr_array,
>> +                         void *fs_info)
>> +{
>> +     struct mqueue_inode_info *info = MQUEUE_I(inode);
>> +     const struct xattr *xattr;
>> +     struct simple_xattr *new_xattr;
>> +     size_t len;
>> +
>> +     for (xattr = xattr_array; xattr->name != NULL; xattr++) {
>> +             new_xattr = simple_xattr_alloc(xattr->value, xattr->value_len);
>> +             if (!new_xattr)
>> +                     return -ENOMEM;
>> +             len = strlen(xattr->name) + 1;
>> +             new_xattr->name = kmalloc(XATTR_SECURITY_PREFIX_LEN + len,
>> +                                       GFP_KERNEL);
>> +             if (!new_xattr->name) {
>> +                     kfree(new_xattr);
>> +                     return -ENOMEM;
>> +             }
>> +
>> +             memcpy(new_xattr->name, XATTR_SECURITY_PREFIX,
>> +                    XATTR_SECURITY_PREFIX_LEN);
>> +             memcpy(new_xattr->name + XATTR_SECURITY_PREFIX_LEN,
>> +                    xattr->name, len);
>> +
>> +             simple_xattr_list_add(&info->xattrs, new_xattr);
>> +     }
>> +
>> +     return 0;
>> +}
>
> This is a 1:1 copy of the shmem code, we rally should consolidate it
> into a single place first, as people will want it for whatever virtual
> fs they care about sooner or later.

I don't disagree, but let's keep that patch separate from the mqueue
enablement to make any future bisects cleaner.

-- 
paul moore
www.paul-moore.com

Reply via email to