diff options
| author | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
|---|---|---|
| committer | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
| commit | 79828b4fa835f73cdaf4bffa48696abdcbea9d02 (patch) | |
| tree | 5e0fa7156acb75ba603022bc807df8f2fedb97a8 /fs/ext3/xattr_security.c | |
| parent | 721b51fcf91898299d96f4b72cb9434cda29dce6 (diff) | |
| parent | 8c1a9d6323abf0fb1e5dad96cf3f1c783505ea5a (diff) | |
Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-fix-rt5645
Diffstat (limited to 'fs/ext3/xattr_security.c')
| -rw-r--r-- | fs/ext3/xattr_security.c | 78 | 
1 files changed, 0 insertions, 78 deletions
diff --git a/fs/ext3/xattr_security.c b/fs/ext3/xattr_security.c deleted file mode 100644 index c9506d5e3b13..000000000000 --- a/fs/ext3/xattr_security.c +++ /dev/null @@ -1,78 +0,0 @@ -/* - * linux/fs/ext3/xattr_security.c - * Handler for storing security labels as extended attributes. - */ - -#include <linux/security.h> -#include "ext3.h" -#include "xattr.h" - -static size_t -ext3_xattr_security_list(struct dentry *dentry, char *list, size_t list_size, -			 const char *name, size_t name_len, int type) -{ -	const size_t prefix_len = XATTR_SECURITY_PREFIX_LEN; -	const size_t total_len = prefix_len + name_len + 1; - - -	if (list && total_len <= list_size) { -		memcpy(list, XATTR_SECURITY_PREFIX, prefix_len); -		memcpy(list+prefix_len, name, name_len); -		list[prefix_len + name_len] = '\0'; -	} -	return total_len; -} - -static int -ext3_xattr_security_get(struct dentry *dentry, const char *name, -		void *buffer, size_t size, int type) -{ -	if (strcmp(name, "") == 0) -		return -EINVAL; -	return ext3_xattr_get(d_inode(dentry), EXT3_XATTR_INDEX_SECURITY, -			      name, buffer, size); -} - -static int -ext3_xattr_security_set(struct dentry *dentry, const char *name, -		const void *value, size_t size, int flags, int type) -{ -	if (strcmp(name, "") == 0) -		return -EINVAL; -	return ext3_xattr_set(d_inode(dentry), EXT3_XATTR_INDEX_SECURITY, -			      name, value, size, flags); -} - -static int ext3_initxattrs(struct inode *inode, -			   const struct xattr *xattr_array, -			   void *fs_info) -{ -	const struct xattr *xattr; -	handle_t *handle = fs_info; -	int err = 0; - -	for (xattr = xattr_array; xattr->name != NULL; xattr++) { -		err = ext3_xattr_set_handle(handle, inode, -					    EXT3_XATTR_INDEX_SECURITY, -					    xattr->name, xattr->value, -					    xattr->value_len, 0); -		if (err < 0) -			break; -	} -	return err; -} - -int -ext3_init_security(handle_t *handle, struct inode *inode, struct inode *dir, -		   const struct qstr *qstr) -{ -	return security_inode_init_security(inode, dir, qstr, -					    &ext3_initxattrs, handle); -} - -const struct xattr_handler ext3_xattr_security_handler = { -	.prefix	= XATTR_SECURITY_PREFIX, -	.list	= ext3_xattr_security_list, -	.get	= ext3_xattr_security_get, -	.set	= ext3_xattr_security_set, -};  |