[PATCH v19 00/23] Richacls (Core and Ext4)

From: Andreas Gruenbacher
Date: Mon Mar 14 2016 - 10:55:43 EST


Al,

could you please merge the current richacl patch queue, up to and including
the ext4 support?


Changes since the last posting (https://lwn.net/Articles/677901/):

* richacl_from_xattr now takes an invalid_error parameter specifying
the error code to return when an xattr is invallid. This allows to
better use this function when decoding an xattr stored on a filesystem
as well as when decoding a user-provided xattr.

* ext4_acl_chmod and xfs_acl_chmod have lost their mode parameter;
they have aready been using inode->i_mode instead of the parameter.

* Use __u8 instead of unsigned char in uapi headers. Drop left-over
MODULE_LICENSE declarations. Use IS_ERR_OR_NULL instead of IS_ERR in
ext4_init_richacl.

* Rebased on top of v4.5.


The complete patch queue is available here:

git://git.kernel.org/pub/scm/linux/kernel/git/agruen/linux-richacl.git \
richacl-2016-03-14


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 (21):
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: Compute maximum file masks from an acl
richacl: Permission check algorithm
posix_acl: Unexport acl_by_type and make it static
posix_acl: Improve xattr fixup code
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

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

drivers/staging/lustre/lustre/llite/llite_lib.c | 2 +-
fs/Kconfig | 3 +
fs/Makefile | 2 +
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 | 12 +-
fs/ext4/namei.c | 5 +
fs/ext4/richacl.c | 137 ++++++
fs/ext4/richacl.h | 40 ++
fs/ext4/super.c | 49 +-
fs/ext4/xattr.c | 7 +
fs/f2fs/acl.c | 4 +-
fs/inode.c | 15 +-
fs/jffs2/acl.c | 10 +-
fs/namei.c | 118 ++++-
fs/posix_acl.c | 50 +-
fs/richacl_base.c | 578 ++++++++++++++++++++++++
fs/richacl_inode.c | 333 ++++++++++++++
fs/richacl_xattr.c | 235 ++++++++++
fs/xattr.c | 29 +-
include/linux/fs.h | 60 ++-
include/linux/posix_acl.h | 13 +-
include/linux/richacl.h | 208 +++++++++
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 +
33 files changed, 2150 insertions(+), 107 deletions(-)
create mode 100644 fs/ext4/richacl.c
create mode 100644 fs/ext4/richacl.h
create mode 100644 fs/richacl_base.c
create mode 100644 fs/richacl_inode.c
create mode 100644 fs/richacl_xattr.c
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

--
2.5.0