Exemple #1
0
static int hfsplus_trusted_setxattr(const struct xattr_handler *handler,
				    struct dentry *dentry, const char *name,
				    const void *buffer, size_t size, int flags)
{
	return hfsplus_setxattr(dentry, name, buffer, size, flags,
				XATTR_TRUSTED_PREFIX, XATTR_TRUSTED_PREFIX_LEN);
}
Exemple #2
0
static int hfsplus_trusted_setxattr(struct dentry *dentry, const char *name,
		const void *buffer, size_t size, int flags, int type)
{
	char xattr_name[HFSPLUS_ATTR_MAX_STRLEN + 1] = {0};
	size_t len = strlen(name);

	if (!strcmp(name, ""))
		return -EINVAL;

	if (len + XATTR_TRUSTED_PREFIX_LEN > HFSPLUS_ATTR_MAX_STRLEN)
		return -EOPNOTSUPP;

	strcpy(xattr_name, XATTR_TRUSTED_PREFIX);
	strcpy(xattr_name + XATTR_TRUSTED_PREFIX_LEN, name);

	return hfsplus_setxattr(dentry, xattr_name, buffer, size, flags);
}
Exemple #3
0
static int hfsplus_security_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_SECURITY_PREFIX);
    strcpy(xattr_name + XATTR_SECURITY_PREFIX_LEN, name);

    res = hfsplus_setxattr(dentry, xattr_name, buffer, size, flags);
    kfree(xattr_name);
    return res;
}
Exemple #4
0
static int hfsplus_user_setxattr(struct dentry *dentry, const char *name,
		const void *buffer, size_t size, int flags, int type)
{
	return hfsplus_setxattr(dentry, name, buffer, size, flags,
				XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN);
}