Merge branch 'for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 14 Nov 2015 02:02:30 +0000 (18:02 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 14 Nov 2015 02:02:30 +0000 (18:02 -0800)
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

1  2 
fs/nfs/nfs4proc.c
fs/ubifs/super.c
fs/ubifs/ubifs.h
fs/ubifs/xattr.c
fs/xfs/xfs_xattr.c

Simple merge
Simple merge
Simple merge
Simple merge
index 8294f86441bfcdc108eb28ec57b7a449f31dd675,b1850e1489ef6e2c17b8bc3eef905cfc741178c1..839b35ca21c69320c736ac636ef681b1362402ce
@@@ -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;