From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Sat, 14 Nov 2015 02:02:30 +0000 (-0800)
Subject: Merge branch 'for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=5d2eb548b309be34ecf3b91f0b7300a2b9d09b8c;p=linux.git

Merge branch 'for-linus-3' of git://git./linux/kernel/git/viro/vfs

Pull vfs xattr cleanups from Al Viro.

* 'for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  f2fs: xattr simplifications
  squashfs: xattr simplifications
  9p: xattr simplifications
  xattr handlers: Pass handler to operations instead of flags
  jffs2: Add missing capability check for listing trusted xattrs
  hfsplus: Remove unused xattr handler list operations
  ubifs: Remove unused security xattr handler
  vfs: Fix the posix_acl_xattr_list return value
  vfs: Check attribute names in posix acl xattr handers
---

5d2eb548b309be34ecf3b91f0b7300a2b9d09b8c
diff --cc fs/xfs/xfs_xattr.c
index 8294f86441bfc,b1850e1489ef6..839b35ca21c69
--- a/fs/xfs/xfs_xattr.c
+++ b/fs/xfs/xfs_xattr.c
@@@ -53,34 -54,12 +54,35 @@@ xfs_xattr_get(const struct xattr_handle
  	return asize;
  }
  
 +void
 +xfs_forget_acl(
 +	struct inode		*inode,
 +	const char		*name,
 +	int			xflags)
 +{
 +	/*
 +	 * Invalidate any cached ACLs if the user has bypassed the ACL
 +	 * interface. We don't validate the content whatsoever so it is caller
 +	 * responsibility to provide data in valid format and ensure i_mode is
 +	 * consistent.
 +	 */
 +	if (xflags & ATTR_ROOT) {
 +#ifdef CONFIG_XFS_POSIX_ACL
 +		if (!strcmp(name, SGI_ACL_FILE))
 +			forget_cached_acl(inode, ACL_TYPE_ACCESS);
 +		else if (!strcmp(name, SGI_ACL_DEFAULT))
 +			forget_cached_acl(inode, ACL_TYPE_DEFAULT);
 +#endif
 +	}
 +}
 +
  static int
- xfs_xattr_set(struct dentry *dentry, const char *name, const void *value,
- 		size_t size, int flags, int xflags)
+ xfs_xattr_set(const struct xattr_handler *handler, struct dentry *dentry,
+ 		const char *name, const void *value, size_t size, int flags)
  {
 -	int xflags = handler->flags;
 -	struct xfs_inode *ip = XFS_I(d_inode(dentry));
++	int			xflags = handler->flags;
 +	struct xfs_inode	*ip = XFS_I(d_inode(dentry));
 +	int			error;
  
  	if (strcmp(name, "") == 0)
  		return -EINVAL;