[v24,00/22] Richacls (Core and Ext4)
mbox series

Message ID 1469455759-6141-1-git-send-email-agruenba@redhat.com
Headers show
Series
  • Richacls (Core and Ext4)
Related show

Message

Andreas Gruenbacher July 25, 2016, 2:08 p.m. UTC
Here is another update of the richacl patches.  Changes since the last posting
(https://lwn.net/Articles/693099/):

 * Rebase on top of the 4.7 kernel.

 * De-union ba_refcount and ba_rcu in struct base_acl (analogous to mainline
   commit 6d4e56ce9 from Jeff Layton).

 * Functions check_richacl and check_posix_acl moved from fs/namei.c into
   fs/richacl.c and fs/posix_acl.c to avoid #ifdefs in the code.

 * nfs: Use PTR_ERR_OR_ZERO instead of open-coding it.

 * Remove outdated comment for richacl_mode_to_mask.  Turn richacl_want_to_mask
   into a static function.

 * Patch "posix_acl: Improve xattr fixup code" has become unrelated to this
   patch queue; move it out of the way.


As always, the complete patch queue is available here:

  git://git.kernel.org/pub/scm/linux/kernel/git/agruen/linux-richacl.git \
	richacl-2016-07-25


The richacl user-space utilitites, man pages, and test suite are available
here:

  https://github.com/andreas-gruenbacher/richacl


Changes to other user-space packages for richacl:

  https://github.com/andreas-gruenbacher/coreutils
  https://github.com/andreas-gruenbacher/e2fsprogs
  https://github.com/andreas-gruenbacher/samba
  https://github.com/andreas-gruenbacher/xfsprogs-dev
  https://github.com/andreas-gruenbacher/nfs-utils


Please see the richacl homepage for more information:

  http://www.bestbits.at/richacl/


Thanks,
Andreas

Andreas Gruenbacher (20):
  vfs: Add IS_ACL() and IS_RICHACL() tests
  vfs: Add MAY_CREATE_FILE and MAY_CREATE_DIR permission flags
  vfs: Add MAY_DELETE_SELF and MAY_DELETE_CHILD permission flags
  vfs: Make the inode passed to inode_change_ok non-const
  vfs: Add permission flags for setting file attributes
  richacl: In-memory representation and helper functions
  richacl: Permission mapping functions
  richacl: Permission check algorithm
  richacl: Compute maximum file masks from an acl
  vfs: Cache base_acl objects in inodes
  vfs: Add get_richacl and set_richacl inode operations
  vfs: Cache richacl in struct inode
  richacl: Update the file masks in chmod()
  richacl: Check if an acl is equivalent to a file mode
  richacl: Create-time inheritance
  richacl: Automatic Inheritance
  richacl: xattr mapping functions
  richacl: Add richacl xattr handler
  vfs: Add richacl permission checking
  vfs: Move check_posix_acl and check_richacl out of fs/namei.c

Aneesh Kumar K.V (2):
  ext4: Add richacl support
  ext4: Add richacl feature flag

 drivers/staging/lustre/lustre/llite/llite_lib.c |   2 +-
 fs/9p/acl.c                                     |   8 +-
 fs/Kconfig                                      |   3 +
 fs/Makefile                                     |   1 +
 fs/attr.c                                       |  81 +-
 fs/ext4/Kconfig                                 |  11 +
 fs/ext4/Makefile                                |   1 +
 fs/ext4/ext4.h                                  |   6 +-
 fs/ext4/file.c                                  |   3 +
 fs/ext4/ialloc.c                                |  11 +-
 fs/ext4/inode.c                                 |   5 +-
 fs/ext4/namei.c                                 |   5 +
 fs/ext4/richacl.c                               | 134 ++++
 fs/ext4/richacl.h                               |  40 +
 fs/ext4/super.c                                 |  49 +-
 fs/ext4/xattr.c                                 |   7 +
 fs/f2fs/acl.c                                   |   4 +-
 fs/inode.c                                      |  43 +-
 fs/jffs2/acl.c                                  |   6 +-
 fs/namei.c                                      | 114 +--
 fs/nfs/nfs3acl.c                                |  14 +-
 fs/posix_acl.c                                  |  97 ++-
 fs/richacl.c                                    | 937 ++++++++++++++++++++++++
 fs/richacl_xattr.c                              | 222 ++++++
 include/linux/acl.h                             |  15 +
 include/linux/fs.h                              |  65 +-
 include/linux/posix_acl.h                       |  24 +-
 include/linux/richacl.h                         | 218 ++++++
 include/linux/richacl_xattr.h                   |  31 +
 include/uapi/linux/Kbuild                       |   2 +
 include/uapi/linux/fs.h                         |   3 +-
 include/uapi/linux/richacl.h                    | 152 ++++
 include/uapi/linux/richacl_xattr.h              |  44 ++
 include/uapi/linux/xattr.h                      |   2 +
 34 files changed, 2196 insertions(+), 164 deletions(-)
 create mode 100644 fs/ext4/richacl.c
 create mode 100644 fs/ext4/richacl.h
 create mode 100644 fs/richacl.c
 create mode 100644 fs/richacl_xattr.c
 create mode 100644 include/linux/acl.h
 create mode 100644 include/linux/richacl.h
 create mode 100644 include/linux/richacl_xattr.h
 create mode 100644 include/uapi/linux/richacl.h
 create mode 100644 include/uapi/linux/richacl_xattr.h