fs: rename current get acl method
authorChristian Brauner <brauner@kernel.org>
Thu, 22 Sep 2022 15:17:00 +0000 (17:17 +0200)
committerChristian Brauner (Microsoft) <brauner@kernel.org>
Thu, 20 Oct 2022 08:13:27 +0000 (10:13 +0200)
The current way of setting and getting posix acls through the generic
xattr interface is error prone and type unsafe. The vfs needs to
interpret and fixup posix acls before storing or reporting it to
userspace. Various hacks exist to make this work. The code is hard to
understand and difficult to maintain in it's current form. Instead of
making this work by hacking posix acls through xattr handlers we are
building a dedicated posix acl api around the get and set inode
operations. This removes a lot of hackiness and makes the codepaths
easier to maintain. A lot of background can be found in [1].

The current inode operation for getting posix acls takes an inode
argument but various filesystems (e.g., 9p, cifs, overlayfs) need access
to the dentry. In contrast to the ->set_acl() inode operation we cannot
simply extend ->get_acl() to take a dentry argument. The ->get_acl()
inode operation is called from:

acl_permission_check()
-> check_acl()
   -> get_acl()

which is part of generic_permission() which in turn is part of
inode_permission(). Both generic_permission() and inode_permission() are
called in the ->permission() handler of various filesystems (e.g.,
overlayfs). So simply passing a dentry argument to ->get_acl() would
amount to also having to pass a dentry argument to ->permission(). We
should avoid this unnecessary change.

So instead of extending the existing inode operation rename it from
->get_acl() to ->get_inode_acl() and add a ->get_acl() method later that
passes a dentry argument and which filesystems that need access to the
dentry can implement instead of ->get_inode_acl(). Filesystems like cifs
which allow setting and getting posix acls but not using them for
permission checking during lookup can simply not implement
->get_inode_acl().

This is intended to be a non-functional change.

Link: https://lore.kernel.org/all/20220801145520.1532837-1-brauner@kernel.org
Suggested-by/Inspired-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
47 files changed:
Documentation/filesystems/locking.rst
Documentation/filesystems/porting.rst
Documentation/filesystems/vfs.rst
fs/9p/vfs_inode_dotl.c
fs/bad_inode.c
fs/btrfs/inode.c
fs/ceph/dir.c
fs/ceph/inode.c
fs/erofs/inode.c
fs/erofs/namei.c
fs/ext2/file.c
fs/ext2/namei.c
fs/ext4/file.c
fs/ext4/ialloc.c
fs/ext4/namei.c
fs/f2fs/file.c
fs/f2fs/namei.c
fs/fuse/dir.c
fs/gfs2/inode.c
fs/jffs2/dir.c
fs/jffs2/file.c
fs/jfs/file.c
fs/jfs/namei.c
fs/ksmbd/smb2pdu.c
fs/ksmbd/smbacl.c
fs/ksmbd/vfs.c
fs/namei.c
fs/nfs/nfs3acl.c
fs/nfs/nfs3proc.c
fs/nfsd/nfs2acl.c
fs/nfsd/nfs3acl.c
fs/nfsd/nfs4acl.c
fs/ntfs3/file.c
fs/ntfs3/namei.c
fs/ocfs2/file.c
fs/ocfs2/namei.c
fs/orangefs/inode.c
fs/orangefs/namei.c
fs/overlayfs/dir.c
fs/overlayfs/inode.c
fs/posix_acl.c
fs/reiserfs/file.c
fs/reiserfs/namei.c
fs/reiserfs/xattr_acl.c
fs/xfs/xfs_iops.c
include/linux/fs.h
include/linux/posix_acl.h

index 8f737e76935ce341972fac30eecfd81e90fc43cb..63e821a80987da83d3ba5d4d08ed90d5ae7b8de2 100644 (file)
@@ -70,7 +70,7 @@ prototypes::
        const char *(*get_link) (struct dentry *, struct inode *, struct delayed_call *);
        void (*truncate) (struct inode *);
        int (*permission) (struct inode *, int, unsigned int);
-       struct posix_acl * (*get_acl)(struct inode *, int, bool);
+       struct posix_acl * (*get_inode_acl)(struct inode *, int, bool);
        int (*setattr) (struct dentry *, struct iattr *);
        int (*getattr) (const struct path *, struct kstat *, u32, unsigned int);
        ssize_t (*listxattr) (struct dentry *, char *, size_t);
@@ -88,9 +88,9 @@ prototypes::
 locking rules:
        all may block
 
-=============  =============================================
+============== =============================================
 ops            i_rwsem(inode)
-=============  =============================================
+============== =============================================
 lookup:                shared
 create:                exclusive
 link:          exclusive (both)
@@ -104,7 +104,7 @@ readlink:   no
 get_link:      no
 setattr:       exclusive
 permission:    no (may not block if called in rcu-walk mode)
-get_acl:       no
+get_inode_acl: no
 getattr:       no
 listxattr:     no
 fiemap:                no
@@ -113,7 +113,7 @@ atomic_open:        shared (exclusive if O_CREAT is set in open flags)
 tmpfile:       no
 fileattr_get:  no or exclusive
 fileattr_set:  exclusive
-=============  =============================================
+============== =============================================
 
 
        Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_rwsem
index df0dc37e6f582d6c5c11f0de22871419cc40f765..d2d684ae77984f066b96fe028477fc5aec2e31ec 100644 (file)
@@ -462,8 +462,8 @@ ERR_PTR(...).
 argument; instead of passing IPERM_FLAG_RCU we add MAY_NOT_BLOCK into mask.
 
 generic_permission() has also lost the check_acl argument; ACL checking
-has been taken to VFS and filesystems need to provide a non-NULL ->i_op->get_acl
-to read an ACL from disk.
+has been taken to VFS and filesystems need to provide a non-NULL
+->i_op->get_inode_acl to read an ACL from disk.
 
 ---
 
index cbf3088617c721e787967117be7a86d87b9105e8..cebede60db988308ea044408949c8346318bd7a2 100644 (file)
@@ -435,7 +435,7 @@ As of kernel 2.6.22, the following members are defined:
                const char *(*get_link) (struct dentry *, struct inode *,
                                         struct delayed_call *);
                int (*permission) (struct user_namespace *, struct inode *, int);
-               struct posix_acl * (*get_acl)(struct inode *, int, bool);
+               struct posix_acl * (*get_inode_acl)(struct inode *, int, bool);
                int (*setattr) (struct user_namespace *, struct dentry *, struct iattr *);
                int (*getattr) (struct user_namespace *, const struct path *, struct kstat *, u32, unsigned int);
                ssize_t (*listxattr) (struct dentry *, char *, size_t);
index 5cfa4b4f070f4f7c50e30fd7ba377e5c7ea0527f..0d1a7f2c579d33f80a293e0a98ff9139ebf4965c 100644 (file)
@@ -983,14 +983,14 @@ const struct inode_operations v9fs_dir_inode_operations_dotl = {
        .getattr = v9fs_vfs_getattr_dotl,
        .setattr = v9fs_vfs_setattr_dotl,
        .listxattr = v9fs_listxattr,
-       .get_acl = v9fs_iop_get_acl,
+       .get_inode_acl = v9fs_iop_get_acl,
 };
 
 const struct inode_operations v9fs_file_inode_operations_dotl = {
        .getattr = v9fs_vfs_getattr_dotl,
        .setattr = v9fs_vfs_setattr_dotl,
        .listxattr = v9fs_listxattr,
-       .get_acl = v9fs_iop_get_acl,
+       .get_inode_acl = v9fs_iop_get_acl,
 };
 
 const struct inode_operations v9fs_symlink_inode_operations_dotl = {
index bc9917d372eda57a012ed82808cbd6216f6881a0..92737166203f3e1208b79172774fb86eec5ef80b 100644 (file)
@@ -177,7 +177,7 @@ static const struct inode_operations bad_inode_ops =
        .setattr        = bad_inode_setattr,
        .listxattr      = bad_inode_listxattr,
        .get_link       = bad_inode_get_link,
-       .get_acl        = bad_inode_get_acl,
+       .get_inode_acl  = bad_inode_get_acl,
        .fiemap         = bad_inode_fiemap,
        .update_time    = bad_inode_update_time,
        .atomic_open    = bad_inode_atomic_open,
index 312ba03c56ae06f0087e351364750030e72f90a5..7a3076ccbab407e60e125d708125921754a71b8f 100644 (file)
@@ -11288,7 +11288,7 @@ static const struct inode_operations btrfs_dir_inode_operations = {
        .mknod          = btrfs_mknod,
        .listxattr      = btrfs_listxattr,
        .permission     = btrfs_permission,
-       .get_acl        = btrfs_get_acl,
+       .get_inode_acl  = btrfs_get_acl,
        .set_acl        = btrfs_set_acl,
        .update_time    = btrfs_update_time,
        .tmpfile        = btrfs_tmpfile,
@@ -11341,7 +11341,7 @@ static const struct inode_operations btrfs_file_inode_operations = {
        .listxattr      = btrfs_listxattr,
        .permission     = btrfs_permission,
        .fiemap         = btrfs_fiemap,
-       .get_acl        = btrfs_get_acl,
+       .get_inode_acl  = btrfs_get_acl,
        .set_acl        = btrfs_set_acl,
        .update_time    = btrfs_update_time,
        .fileattr_get   = btrfs_fileattr_get,
@@ -11352,7 +11352,7 @@ static const struct inode_operations btrfs_special_inode_operations = {
        .setattr        = btrfs_setattr,
        .permission     = btrfs_permission,
        .listxattr      = btrfs_listxattr,
-       .get_acl        = btrfs_get_acl,
+       .get_inode_acl  = btrfs_get_acl,
        .set_acl        = btrfs_set_acl,
        .update_time    = btrfs_update_time,
 };
index e7e2ebac330d8c74befc708dfd2a854bc032d7a5..6c7026cc8988ead1afbc4b73cebd1e64a417e382 100644 (file)
@@ -2033,7 +2033,7 @@ const struct inode_operations ceph_dir_iops = {
        .getattr = ceph_getattr,
        .setattr = ceph_setattr,
        .listxattr = ceph_listxattr,
-       .get_acl = ceph_get_acl,
+       .get_inode_acl = ceph_get_acl,
        .set_acl = ceph_set_acl,
        .mknod = ceph_mknod,
        .symlink = ceph_symlink,
index ca8aef906dc139708464cb418fbd70186cc87b36..31cd27843eca42f040d318942c889f13a2c271bf 100644 (file)
@@ -126,7 +126,7 @@ const struct inode_operations ceph_file_iops = {
        .setattr = ceph_setattr,
        .getattr = ceph_getattr,
        .listxattr = ceph_listxattr,
-       .get_acl = ceph_get_acl,
+       .get_inode_acl = ceph_get_acl,
        .set_acl = ceph_set_acl,
 };
 
index ad2a82f2eb4cdd0084ef659d1f6522a8a5cc2258..2d571343deec937a8379e3c11e360886119af23d 100644 (file)
@@ -371,7 +371,7 @@ int erofs_getattr(struct user_namespace *mnt_userns, const struct path *path,
 const struct inode_operations erofs_generic_iops = {
        .getattr = erofs_getattr,
        .listxattr = erofs_listxattr,
-       .get_acl = erofs_get_acl,
+       .get_inode_acl = erofs_get_acl,
        .fiemap = erofs_fiemap,
 };
 
@@ -379,12 +379,12 @@ const struct inode_operations erofs_symlink_iops = {
        .get_link = page_get_link,
        .getattr = erofs_getattr,
        .listxattr = erofs_listxattr,
-       .get_acl = erofs_get_acl,
+       .get_inode_acl = erofs_get_acl,
 };
 
 const struct inode_operations erofs_fast_symlink_iops = {
        .get_link = simple_get_link,
        .getattr = erofs_getattr,
        .listxattr = erofs_listxattr,
-       .get_acl = erofs_get_acl,
+       .get_inode_acl = erofs_get_acl,
 };
index 0dc34721080c7f5b312f92d4e1cc3dde6ecb98cc..b64a108fac9217e8bea81c29d03bbb5827856c44 100644 (file)
@@ -228,6 +228,6 @@ const struct inode_operations erofs_dir_iops = {
        .lookup = erofs_lookup,
        .getattr = erofs_getattr,
        .listxattr = erofs_listxattr,
-       .get_acl = erofs_get_acl,
+       .get_inode_acl = erofs_get_acl,
        .fiemap = erofs_fiemap,
 };
index eb97aa3d700eb8c3af0be6372808587e64a4a55b..6b4bebe982ca2f8ad91430ff46a887962317f49c 100644 (file)
@@ -200,7 +200,7 @@ const struct inode_operations ext2_file_inode_operations = {
        .listxattr      = ext2_listxattr,
        .getattr        = ext2_getattr,
        .setattr        = ext2_setattr,
-       .get_acl        = ext2_get_acl,
+       .get_inode_acl  = ext2_get_acl,
        .set_acl        = ext2_set_acl,
        .fiemap         = ext2_fiemap,
        .fileattr_get   = ext2_fileattr_get,
index 9125eab85146a51d4d323d8f7d5ab5689e42484c..c056957221a22563cd90f8c1e30dc8bec44d736f 100644 (file)
@@ -427,7 +427,7 @@ const struct inode_operations ext2_dir_inode_operations = {
        .listxattr      = ext2_listxattr,
        .getattr        = ext2_getattr,
        .setattr        = ext2_setattr,
-       .get_acl        = ext2_get_acl,
+       .get_inode_acl  = ext2_get_acl,
        .set_acl        = ext2_set_acl,
        .tmpfile        = ext2_tmpfile,
        .fileattr_get   = ext2_fileattr_get,
@@ -438,6 +438,6 @@ const struct inode_operations ext2_special_inode_operations = {
        .listxattr      = ext2_listxattr,
        .getattr        = ext2_getattr,
        .setattr        = ext2_setattr,
-       .get_acl        = ext2_get_acl,
+       .get_inode_acl  = ext2_get_acl,
        .set_acl        = ext2_set_acl,
 };
index a7a597c727e638dff296d7d7b5b663c63a9d3051..7ac0a81bd37131c6e6ef8e4c246b104c6bd45e2e 100644 (file)
@@ -955,7 +955,7 @@ const struct inode_operations ext4_file_inode_operations = {
        .setattr        = ext4_setattr,
        .getattr        = ext4_file_getattr,
        .listxattr      = ext4_listxattr,
-       .get_acl        = ext4_get_acl,
+       .get_inode_acl  = ext4_get_acl,
        .set_acl        = ext4_set_acl,
        .fiemap         = ext4_fiemap,
        .fileattr_get   = ext4_fileattr_get,
index e9bc46684106b5cb2c3922711f6008584535f882..67a257a69758cb23cc999378987c4f88435c6385 100644 (file)
@@ -870,7 +870,7 @@ static int ext4_xattr_credits_for_new_inode(struct inode *dir, mode_t mode,
        struct super_block *sb = dir->i_sb;
        int nblocks = 0;
 #ifdef CONFIG_EXT4_FS_POSIX_ACL
-       struct posix_acl *p = get_acl(dir, ACL_TYPE_DEFAULT);
+       struct posix_acl *p = get_inode_acl(dir, ACL_TYPE_DEFAULT);
 
        if (IS_ERR(p))
                return PTR_ERR(p);
index d5daaf41e1fc9e982c432801d1d5053ca269b08d..b8a91d74fdd1ad8e86937da8f4e96291a35437a0 100644 (file)
@@ -4186,7 +4186,7 @@ const struct inode_operations ext4_dir_inode_operations = {
        .setattr        = ext4_setattr,
        .getattr        = ext4_getattr,
        .listxattr      = ext4_listxattr,
-       .get_acl        = ext4_get_acl,
+       .get_inode_acl  = ext4_get_acl,
        .set_acl        = ext4_set_acl,
        .fiemap         = ext4_fiemap,
        .fileattr_get   = ext4_fileattr_get,
@@ -4197,6 +4197,6 @@ const struct inode_operations ext4_special_inode_operations = {
        .setattr        = ext4_setattr,
        .getattr        = ext4_getattr,
        .listxattr      = ext4_listxattr,
-       .get_acl        = ext4_get_acl,
+       .get_inode_acl  = ext4_get_acl,
        .set_acl        = ext4_set_acl,
 };
index 122339482bdc1edb3d203aba103fb0a5efe40eb0..83df6f6173d3168f8f4381177e1cc7d6e504799c 100644 (file)
@@ -1046,7 +1046,7 @@ int f2fs_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
 const struct inode_operations f2fs_file_inode_operations = {
        .getattr        = f2fs_getattr,
        .setattr        = f2fs_setattr,
-       .get_acl        = f2fs_get_acl,
+       .get_inode_acl  = f2fs_get_acl,
        .set_acl        = f2fs_set_acl,
        .listxattr      = f2fs_listxattr,
        .fiemap         = f2fs_fiemap,
index a389772fd212acb93aa2b65e55090ddfd2b8d042..c227113b0f2621d77fa26432807e6e47d94fd263 100644 (file)
@@ -1379,7 +1379,7 @@ const struct inode_operations f2fs_dir_inode_operations = {
        .tmpfile        = f2fs_tmpfile,
        .getattr        = f2fs_getattr,
        .setattr        = f2fs_setattr,
-       .get_acl        = f2fs_get_acl,
+       .get_inode_acl  = f2fs_get_acl,
        .set_acl        = f2fs_set_acl,
        .listxattr      = f2fs_listxattr,
        .fiemap         = f2fs_fiemap,
@@ -1397,7 +1397,7 @@ const struct inode_operations f2fs_symlink_inode_operations = {
 const struct inode_operations f2fs_special_inode_operations = {
        .getattr        = f2fs_getattr,
        .setattr        = f2fs_setattr,
-       .get_acl        = f2fs_get_acl,
+       .get_inode_acl  = f2fs_get_acl,
        .set_acl        = f2fs_set_acl,
        .listxattr      = f2fs_listxattr,
 };
index bb97a384dc5dd8b8caeba91c3e9bc6f21fefc342..25e6b0f7e73de6fb0eca358598f979de6a3c8483 100644 (file)
@@ -1935,7 +1935,7 @@ static const struct inode_operations fuse_dir_inode_operations = {
        .permission     = fuse_permission,
        .getattr        = fuse_getattr,
        .listxattr      = fuse_listxattr,
-       .get_acl        = fuse_get_acl,
+       .get_inode_acl  = fuse_get_acl,
        .set_acl        = fuse_set_acl,
        .fileattr_get   = fuse_fileattr_get,
        .fileattr_set   = fuse_fileattr_set,
@@ -1957,7 +1957,7 @@ static const struct inode_operations fuse_common_inode_operations = {
        .permission     = fuse_permission,
        .getattr        = fuse_getattr,
        .listxattr      = fuse_listxattr,
-       .get_acl        = fuse_get_acl,
+       .get_inode_acl  = fuse_get_acl,
        .set_acl        = fuse_set_acl,
        .fileattr_get   = fuse_fileattr_get,
        .fileattr_set   = fuse_fileattr_set,
index 314b9ce7068289bd6d0ca8d9c41308fe669e828c..1371e067d2a7cd3a43f52111d105640123c60d1d 100644 (file)
@@ -2149,7 +2149,7 @@ static const struct inode_operations gfs2_file_iops = {
        .getattr = gfs2_getattr,
        .listxattr = gfs2_listxattr,
        .fiemap = gfs2_fiemap,
-       .get_acl = gfs2_get_acl,
+       .get_inode_acl = gfs2_get_acl,
        .set_acl = gfs2_set_acl,
        .update_time = gfs2_update_time,
        .fileattr_get = gfs2_fileattr_get,
@@ -2171,7 +2171,7 @@ static const struct inode_operations gfs2_dir_iops = {
        .getattr = gfs2_getattr,
        .listxattr = gfs2_listxattr,
        .fiemap = gfs2_fiemap,
-       .get_acl = gfs2_get_acl,
+       .get_inode_acl = gfs2_get_acl,
        .set_acl = gfs2_set_acl,
        .update_time = gfs2_update_time,
        .atomic_open = gfs2_atomic_open,
index c0aabbcbfd58f5d723d579796ab23829e1956bee..f399b390b5f6067cb51897aafd1e932bdeacee17 100644 (file)
@@ -62,7 +62,7 @@ const struct inode_operations jffs2_dir_inode_operations =
        .rmdir =        jffs2_rmdir,
        .mknod =        jffs2_mknod,
        .rename =       jffs2_rename,
-       .get_acl =      jffs2_get_acl,
+       .get_inode_acl =        jffs2_get_acl,
        .set_acl =      jffs2_set_acl,
        .setattr =      jffs2_setattr,
        .listxattr =    jffs2_listxattr,
index ba86acbe12d3fb761f3f27659999a4bf5f21e16a..3cf71befa47546c8c9184e1b675dcee85b570f26 100644 (file)
@@ -64,7 +64,7 @@ const struct file_operations jffs2_file_operations =
 
 const struct inode_operations jffs2_file_inode_operations =
 {
-       .get_acl =      jffs2_get_acl,
+       .get_inode_acl =        jffs2_get_acl,
        .set_acl =      jffs2_set_acl,
        .setattr =      jffs2_setattr,
        .listxattr =    jffs2_listxattr,
index e3eb9c36751f0cf8f4f2ddf4baef9eb74f27e130..88663465aecd410d544bce9922055fa33d4f912a 100644 (file)
@@ -133,7 +133,7 @@ const struct inode_operations jfs_file_inode_operations = {
        .fileattr_get   = jfs_fileattr_get,
        .fileattr_set   = jfs_fileattr_set,
 #ifdef CONFIG_JFS_POSIX_ACL
-       .get_acl        = jfs_get_acl,
+       .get_inode_acl  = jfs_get_acl,
        .set_acl        = jfs_set_acl,
 #endif
 };
index 9db4f5789c0eca4ae8dc32a62e126a2aa2d073c2..b50afaf7966f7bf99c482a7efa46574a70b5b421 100644 (file)
@@ -1525,7 +1525,7 @@ const struct inode_operations jfs_dir_inode_operations = {
        .fileattr_get   = jfs_fileattr_get,
        .fileattr_set   = jfs_fileattr_set,
 #ifdef CONFIG_JFS_POSIX_ACL
-       .get_acl        = jfs_get_acl,
+       .get_inode_acl  = jfs_get_acl,
        .set_acl        = jfs_set_acl,
 #endif
 };
index 2466edc57424809bc4404f075e307361087382f6..9306e10753f9a791a2669d381447a7df29272582 100644 (file)
@@ -2487,9 +2487,9 @@ static void ksmbd_acls_fattr(struct smb_fattr *fattr,
        fattr->cf_dacls = NULL;
 
        if (IS_ENABLED(CONFIG_FS_POSIX_ACL)) {
-               fattr->cf_acls = get_acl(inode, ACL_TYPE_ACCESS);
+               fattr->cf_acls = get_inode_acl(inode, ACL_TYPE_ACCESS);
                if (S_ISDIR(inode->i_mode))
-                       fattr->cf_dacls = get_acl(inode, ACL_TYPE_DEFAULT);
+                       fattr->cf_dacls = get_inode_acl(inode, ACL_TYPE_DEFAULT);
        }
 }
 
index a1e05fe997fe72ae36ae76998a3442d4dfed2fbc..ab5c68cc0e13bb252adf9fb6dfc73728df443f9a 100644 (file)
@@ -1289,7 +1289,7 @@ int smb_check_perm_dacl(struct ksmbd_conn *conn, const struct path *path,
        }
 
        if (IS_ENABLED(CONFIG_FS_POSIX_ACL)) {
-               posix_acls = get_acl(d_inode(path->dentry), ACL_TYPE_ACCESS);
+               posix_acls = get_inode_acl(d_inode(path->dentry), ACL_TYPE_ACCESS);
                if (posix_acls && !found) {
                        unsigned int id = -1;
 
index 7dee8b78762deba5eefa13a114814d9d0d2273bf..93f65f01a4a6986e8320609ae3182b81392ca532 100644 (file)
@@ -1375,7 +1375,7 @@ static struct xattr_smb_acl *ksmbd_vfs_make_xattr_posix_acl(struct user_namespac
        if (!IS_ENABLED(CONFIG_FS_POSIX_ACL))
                return NULL;
 
-       posix_acls = get_acl(inode, acl_type);
+       posix_acls = get_inode_acl(inode, acl_type);
        if (!posix_acls)
                return NULL;
 
@@ -1884,7 +1884,7 @@ int ksmbd_vfs_inherit_posix_acl(struct user_namespace *user_ns,
        if (!IS_ENABLED(CONFIG_FS_POSIX_ACL))
                return -EOPNOTSUPP;
 
-       acls = get_acl(parent_inode, ACL_TYPE_DEFAULT);
+       acls = get_inode_acl(parent_inode, ACL_TYPE_DEFAULT);
        if (!acls)
                return -ENOENT;
        pace = acls->a_entries;
index 578c2110df0223fbdb952e3e002de5feaa2d1446..1c80fd23cda2952d3d8344d295863f81aaa75dc9 100644 (file)
@@ -297,13 +297,13 @@ static int check_acl(struct user_namespace *mnt_userns,
                acl = get_cached_acl_rcu(inode, ACL_TYPE_ACCESS);
                if (!acl)
                        return -EAGAIN;
-               /* no ->get_acl() calls in RCU mode... */
+               /* no ->get_inode_acl() calls in RCU mode... */
                if (is_uncached_acl(acl))
                        return -ECHILD;
                return posix_acl_permission(mnt_userns, inode, acl, mask);
        }
 
-       acl = get_acl(inode, ACL_TYPE_ACCESS);
+       acl = get_inode_acl(inode, ACL_TYPE_ACCESS);
        if (IS_ERR(acl))
                return PTR_ERR(acl);
        if (acl) {
index 22890d97a9e4e13a15353cf5bc0755b717892eda..74d11e3c420555ea35ede04248f56630766c388b 100644 (file)
@@ -265,14 +265,14 @@ int nfs3_set_acl(struct user_namespace *mnt_userns, struct dentry *dentry,
        if (S_ISDIR(inode->i_mode)) {
                switch(type) {
                case ACL_TYPE_ACCESS:
-                       alloc = get_acl(inode, ACL_TYPE_DEFAULT);
+                       alloc = get_inode_acl(inode, ACL_TYPE_DEFAULT);
                        if (IS_ERR(alloc))
                                goto fail;
                        dfacl = alloc;
                        break;
 
                case ACL_TYPE_DEFAULT:
-                       alloc = get_acl(inode, ACL_TYPE_ACCESS);
+                       alloc = get_inode_acl(inode, ACL_TYPE_ACCESS);
                        if (IS_ERR(alloc))
                                goto fail;
                        dfacl = acl;
@@ -313,7 +313,7 @@ nfs3_list_one_acl(struct inode *inode, int type, const char *name, void *data,
        struct posix_acl *acl;
        char *p = data + *result;
 
-       acl = get_acl(inode, type);
+       acl = get_inode_acl(inode, type);
        if (IS_ERR_OR_NULL(acl))
                return 0;
 
index 2e7579626cf01dfa66ce8b980357b9b59e0c0db6..4bf208a0a8e9948de4131e8e9e9fb6d21db3a5fc 100644 (file)
@@ -998,7 +998,7 @@ static const struct inode_operations nfs3_dir_inode_operations = {
        .setattr        = nfs_setattr,
 #ifdef CONFIG_NFS_V3_ACL
        .listxattr      = nfs3_listxattr,
-       .get_acl        = nfs3_get_acl,
+       .get_inode_acl  = nfs3_get_acl,
        .set_acl        = nfs3_set_acl,
 #endif
 };
@@ -1009,7 +1009,7 @@ static const struct inode_operations nfs3_file_inode_operations = {
        .setattr        = nfs_setattr,
 #ifdef CONFIG_NFS_V3_ACL
        .listxattr      = nfs3_listxattr,
-       .get_acl        = nfs3_get_acl,
+       .get_inode_acl  = nfs3_get_acl,
        .set_acl        = nfs3_set_acl,
 #endif
 };
index b1839638500cb36e063b4a1073139c7083f4d7a9..c43c25a8da2e7c42ba13b2ac26461aa9ed0dbe96 100644 (file)
@@ -55,7 +55,7 @@ static __be32 nfsacld_proc_getacl(struct svc_rqst *rqstp)
                goto out;
 
        if (resp->mask & (NFS_ACL|NFS_ACLCNT)) {
-               acl = get_acl(inode, ACL_TYPE_ACCESS);
+               acl = get_inode_acl(inode, ACL_TYPE_ACCESS);
                if (acl == NULL) {
                        /* Solaris returns the inode's minimum ACL. */
                        acl = posix_acl_from_mode(inode->i_mode, GFP_KERNEL);
@@ -69,7 +69,7 @@ static __be32 nfsacld_proc_getacl(struct svc_rqst *rqstp)
        if (resp->mask & (NFS_DFACL|NFS_DFACLCNT)) {
                /* Check how Solaris handles requests for the Default ACL
                   of a non-directory! */
-               acl = get_acl(inode, ACL_TYPE_DEFAULT);
+               acl = get_inode_acl(inode, ACL_TYPE_DEFAULT);
                if (IS_ERR(acl)) {
                        resp->status = nfserrno(PTR_ERR(acl));
                        goto fail;
index da4a0d09bd840a287e10a17cec770d57913941d1..9daa621817d80e2bae227463e0643d91a7b53833 100644 (file)
@@ -47,7 +47,7 @@ static __be32 nfsd3_proc_getacl(struct svc_rqst *rqstp)
        resp->mask = argp->mask;
 
        if (resp->mask & (NFS_ACL|NFS_ACLCNT)) {
-               acl = get_acl(inode, ACL_TYPE_ACCESS);
+               acl = get_inode_acl(inode, ACL_TYPE_ACCESS);
                if (acl == NULL) {
                        /* Solaris returns the inode's minimum ACL. */
                        acl = posix_acl_from_mode(inode->i_mode, GFP_KERNEL);
@@ -61,7 +61,7 @@ static __be32 nfsd3_proc_getacl(struct svc_rqst *rqstp)
        if (resp->mask & (NFS_DFACL|NFS_DFACLCNT)) {
                /* Check how Solaris handles requests for the Default ACL
                   of a non-directory! */
-               acl = get_acl(inode, ACL_TYPE_DEFAULT);
+               acl = get_inode_acl(inode, ACL_TYPE_DEFAULT);
                if (IS_ERR(acl)) {
                        resp->status = nfserrno(PTR_ERR(acl));
                        goto fail;
index bb8e2f6d7d03c4b9b8f8abeeae7d6e6019c6fadf..518203821790cd38ddf5fc16c93fb959b80ac275 100644 (file)
@@ -135,7 +135,7 @@ nfsd4_get_nfs4_acl(struct svc_rqst *rqstp, struct dentry *dentry,
        unsigned int flags = 0;
        int size = 0;
 
-       pacl = get_acl(inode, ACL_TYPE_ACCESS);
+       pacl = get_inode_acl(inode, ACL_TYPE_ACCESS);
        if (!pacl)
                pacl = posix_acl_from_mode(inode->i_mode, GFP_KERNEL);
 
@@ -147,7 +147,7 @@ nfsd4_get_nfs4_acl(struct svc_rqst *rqstp, struct dentry *dentry,
 
        if (S_ISDIR(inode->i_mode)) {
                flags = NFS4_ACL_DIR;
-               dpacl = get_acl(inode, ACL_TYPE_DEFAULT);
+               dpacl = get_inode_acl(inode, ACL_TYPE_DEFAULT);
                if (IS_ERR(dpacl)) {
                        error = PTR_ERR(dpacl);
                        goto rel_pacl;
index ee5101e6bd6869a7bdcc746d1a01bc24156bec68..c5e4a886593d363353b22224cf67b6e7b539050f 100644 (file)
@@ -1255,7 +1255,7 @@ const struct inode_operations ntfs_file_inode_operations = {
        .setattr        = ntfs3_setattr,
        .listxattr      = ntfs_listxattr,
        .permission     = ntfs_permission,
-       .get_acl        = ntfs_get_acl,
+       .get_inode_acl  = ntfs_get_acl,
        .set_acl        = ntfs_set_acl,
        .fiemap         = ntfs_fiemap,
 };
index bc22cc321a74bba0110a0030386af6396e9e63e9..053cc0e0f8b5a7b51be106a0a1592f1a0ac2e3f4 100644 (file)
@@ -367,7 +367,7 @@ const struct inode_operations ntfs_dir_inode_operations = {
        .mknod          = ntfs_mknod,
        .rename         = ntfs_rename,
        .permission     = ntfs_permission,
-       .get_acl        = ntfs_get_acl,
+       .get_inode_acl  = ntfs_get_acl,
        .set_acl        = ntfs_set_acl,
        .setattr        = ntfs3_setattr,
        .getattr        = ntfs_getattr,
@@ -379,7 +379,7 @@ const struct inode_operations ntfs_special_inode_operations = {
        .setattr        = ntfs3_setattr,
        .getattr        = ntfs_getattr,
        .listxattr      = ntfs_listxattr,
-       .get_acl        = ntfs_get_acl,
+       .get_inode_acl  = ntfs_get_acl,
        .set_acl        = ntfs_set_acl,
 };
 // clang-format on
index 9c67edd215d5ae70c50827ec6d6cc11527cac1ff..af900aaa92752b5dca69d1500a638262a4b23f29 100644 (file)
@@ -2712,7 +2712,7 @@ const struct inode_operations ocfs2_file_iops = {
        .permission     = ocfs2_permission,
        .listxattr      = ocfs2_listxattr,
        .fiemap         = ocfs2_fiemap,
-       .get_acl        = ocfs2_iop_get_acl,
+       .get_inode_acl  = ocfs2_iop_get_acl,
        .set_acl        = ocfs2_iop_set_acl,
        .fileattr_get   = ocfs2_fileattr_get,
        .fileattr_set   = ocfs2_fileattr_set,
@@ -2722,7 +2722,7 @@ const struct inode_operations ocfs2_special_file_iops = {
        .setattr        = ocfs2_setattr,
        .getattr        = ocfs2_getattr,
        .permission     = ocfs2_permission,
-       .get_acl        = ocfs2_iop_get_acl,
+       .get_inode_acl  = ocfs2_iop_get_acl,
        .set_acl        = ocfs2_iop_set_acl,
 };
 
index 961d1cf54388e3a8a9651eed03c758ec0fe65b49..c5ffded7ac92d68b508c5bbd35ad4a34d337af4e 100644 (file)
@@ -2916,7 +2916,7 @@ const struct inode_operations ocfs2_dir_iops = {
        .permission     = ocfs2_permission,
        .listxattr      = ocfs2_listxattr,
        .fiemap         = ocfs2_fiemap,
-       .get_acl        = ocfs2_iop_get_acl,
+       .get_inode_acl  = ocfs2_iop_get_acl,
        .set_acl        = ocfs2_iop_set_acl,
        .fileattr_get   = ocfs2_fileattr_get,
        .fileattr_set   = ocfs2_fileattr_set,
index 825872d8d377e79d9786ff750a664469cf7c8b27..8974b0fbf00dee6e06971668c521176c253eba56 100644 (file)
@@ -975,7 +975,7 @@ static int orangefs_fileattr_set(struct user_namespace *mnt_userns,
 
 /* ORANGEFS2 implementation of VFS inode operations for files */
 static const struct inode_operations orangefs_file_inode_operations = {
-       .get_acl = orangefs_get_acl,
+       .get_inode_acl = orangefs_get_acl,
        .set_acl = orangefs_set_acl,
        .setattr = orangefs_setattr,
        .getattr = orangefs_getattr,
index 600e8eee541fba422f33f24161f6bf72a8982650..75c1a3dcf68ca2318e4d0a7245222b83b48ab8d9 100644 (file)
@@ -430,7 +430,7 @@ static int orangefs_rename(struct user_namespace *mnt_userns,
 /* ORANGEFS implementation of VFS inode operations for directories */
 const struct inode_operations orangefs_dir_inode_operations = {
        .lookup = orangefs_lookup,
-       .get_acl = orangefs_get_acl,
+       .get_inode_acl = orangefs_get_acl,
        .set_acl = orangefs_set_acl,
        .create = orangefs_create,
        .unlink = orangefs_unlink,
index 6b03457f72bb10b3ca0cb4532e6e12eb4ff7cb64..7bece7010c0050519d087e5c36314bb50e7490fd 100644 (file)
@@ -1311,7 +1311,7 @@ const struct inode_operations ovl_dir_inode_operations = {
        .permission     = ovl_permission,
        .getattr        = ovl_getattr,
        .listxattr      = ovl_listxattr,
-       .get_acl        = ovl_get_acl,
+       .get_inode_acl  = ovl_get_acl,
        .update_time    = ovl_update_time,
        .fileattr_get   = ovl_fileattr_get,
        .fileattr_set   = ovl_fileattr_set,
index 9e61511de7a7c6c7c0311df10a0e6741623025d6..6eefd8b7868e5ba47436047c608b0e17ecb94fae 100644 (file)
@@ -517,7 +517,7 @@ struct posix_acl *ovl_get_acl(struct inode *inode, int type, bool rcu)
                const struct cred *old_cred;
 
                old_cred = ovl_override_creds(inode->i_sb);
-               acl = get_acl(realinode, type);
+               acl = get_inode_acl(realinode, type);
                revert_creds(old_cred);
        }
        /*
@@ -721,7 +721,7 @@ static const struct inode_operations ovl_file_inode_operations = {
        .permission     = ovl_permission,
        .getattr        = ovl_getattr,
        .listxattr      = ovl_listxattr,
-       .get_acl        = ovl_get_acl,
+       .get_inode_acl  = ovl_get_acl,
        .update_time    = ovl_update_time,
        .fiemap         = ovl_fiemap,
        .fileattr_get   = ovl_fileattr_get,
@@ -741,7 +741,7 @@ static const struct inode_operations ovl_special_inode_operations = {
        .permission     = ovl_permission,
        .getattr        = ovl_getattr,
        .listxattr      = ovl_listxattr,
-       .get_acl        = ovl_get_acl,
+       .get_inode_acl  = ovl_get_acl,
        .update_time    = ovl_update_time,
 };
 
index c4bc58a1160e8915bc3e8ff6d8d9c86c38b1342f..8bbabe477cb20b72b042873b64dc0dcc9a20181b 100644 (file)
@@ -64,7 +64,7 @@ struct posix_acl *get_cached_acl_rcu(struct inode *inode, int type)
        if (acl == ACL_DONT_CACHE) {
                struct posix_acl *ret;
 
-               ret = inode->i_op->get_acl(inode, type, LOOKUP_RCU);
+               ret = inode->i_op->get_inode_acl(inode, type, LOOKUP_RCU);
                if (!IS_ERR(ret))
                        acl = ret;
        }
@@ -106,7 +106,7 @@ void forget_all_cached_acls(struct inode *inode)
 }
 EXPORT_SYMBOL(forget_all_cached_acls);
 
-struct posix_acl *get_acl(struct inode *inode, int type)
+struct posix_acl *get_inode_acl(struct inode *inode, int type)
 {
        void *sentinel;
        struct posix_acl **p;
@@ -114,7 +114,7 @@ struct posix_acl *get_acl(struct inode *inode, int type)
 
        /*
         * The sentinel is used to detect when another operation like
-        * set_cached_acl() or forget_cached_acl() races with get_acl().
+        * set_cached_acl() or forget_cached_acl() races with get_inode_acl().
         * It is guaranteed that is_uncached_acl(sentinel) is true.
         */
 
@@ -133,24 +133,24 @@ struct posix_acl *get_acl(struct inode *inode, int type)
         * current value of the ACL will not be ACL_NOT_CACHED and so our own
         * sentinel will not be set; another task will update the cache.  We
         * could wait for that other task to complete its job, but it's easier
-        * to just call ->get_acl to fetch the ACL ourself.  (This is going to
-        * be an unlikely race.)
+        * to just call ->get_inode_acl to fetch the ACL ourself.  (This is
+        * going to be an unlikely race.)
         */
        cmpxchg(p, ACL_NOT_CACHED, sentinel);
 
        /*
-        * Normally, the ACL returned by ->get_acl will be cached.
+        * Normally, the ACL returned by ->get_inode_acl will be cached.
         * A filesystem can prevent that by calling
-        * forget_cached_acl(inode, type) in ->get_acl.
+        * forget_cached_acl(inode, type) in ->get_inode_acl.
         *
-        * If the filesystem doesn't have a get_acl() function at all, we'll
-        * just create the negative cache entry.
+        * If the filesystem doesn't have a get_inode_acl() function at all,
+        * we'll just create the negative cache entry.
         */
-       if (!inode->i_op->get_acl) {
+       if (!inode->i_op->get_inode_acl) {
                set_cached_acl(inode, type, NULL);
                return NULL;
        }
-       acl = inode->i_op->get_acl(inode, type, false);
+       acl = inode->i_op->get_inode_acl(inode, type, false);
 
        if (IS_ERR(acl)) {
                /*
@@ -169,7 +169,7 @@ struct posix_acl *get_acl(struct inode *inode, int type)
                posix_acl_release(acl);
        return acl;
 }
-EXPORT_SYMBOL(get_acl);
+EXPORT_SYMBOL(get_inode_acl);
 
 /*
  * Init a fresh posix_acl
@@ -600,7 +600,7 @@ int
        if (!inode->i_op->set_acl)
                return -EOPNOTSUPP;
 
-       acl = get_acl(inode, ACL_TYPE_ACCESS);
+       acl = get_inode_acl(inode, ACL_TYPE_ACCESS);
        if (IS_ERR_OR_NULL(acl)) {
                if (acl == ERR_PTR(-EOPNOTSUPP))
                        return 0;
@@ -630,7 +630,7 @@ posix_acl_create(struct inode *dir, umode_t *mode,
        if (S_ISLNK(*mode) || !IS_POSIXACL(dir))
                return 0;
 
-       p = get_acl(dir, ACL_TYPE_DEFAULT);
+       p = get_inode_acl(dir, ACL_TYPE_DEFAULT);
        if (!p || p == ERR_PTR(-EOPNOTSUPP)) {
                *mode &= ~current_umask();
                return 0;
@@ -1045,7 +1045,8 @@ posix_acl_from_xattr_kgid(struct user_namespace *mnt_userns,
  * Filesystems that store POSIX ACLs in the unaltered uapi format should use
  * posix_acl_from_xattr() when reading them from the backing store and
  * converting them into the struct posix_acl VFS format. The helper is
- * specifically intended to be called from the ->get_acl() inode operation.
+ * specifically intended to be called from the ->get_inode_acl() inode
+ * operation.
  *
  * The posix_acl_from_xattr() function will map the raw {g,u}id values stored
  * in ACL_{GROUP,USER} entries into the filesystem idmapping in @fs_userns. The
@@ -1053,11 +1054,11 @@ posix_acl_from_xattr_kgid(struct user_namespace *mnt_userns,
  * correct k{g,u}id_t. The returned struct posix_acl can be cached.
  *
  * Note that posix_acl_from_xattr() does not take idmapped mounts into account.
- * If it did it calling is from the ->get_acl() inode operation would return
- * POSIX ACLs mapped according to an idmapped mount which would mean that the
- * value couldn't be cached for the filesystem. Idmapped mounts are taken into
- * account on the fly during permission checking or right at the VFS -
- * userspace boundary before reporting them to the user.
+ * If it did it calling is from the ->get_inode_acl() inode operation would
+ * return POSIX ACLs mapped according to an idmapped mount which would mean
+ * that the value couldn't be cached for the filesystem. Idmapped mounts are
+ * taken into account on the fly during permission checking or right at the VFS
+ * userspace boundary before reporting them to the user.
  *
  * Return: Allocated struct posix_acl on success, NULL for a valid header but
  *         without actual POSIX ACL entries, or ERR_PTR() encoded error code.
@@ -1127,7 +1128,7 @@ posix_acl_xattr_get(const struct xattr_handler *handler,
        if (S_ISLNK(inode->i_mode))
                return -EOPNOTSUPP;
 
-       acl = get_acl(inode, handler->flags);
+       acl = get_inode_acl(inode, handler->flags);
        if (IS_ERR(acl))
                return PTR_ERR(acl);
        if (acl == NULL)
index 6e228bfbe7efbf0b84a86b0a4d087c00d2f8d217..467d13da198f90cef5dd6ed5b29623916ecb3042 100644 (file)
@@ -256,7 +256,7 @@ const struct inode_operations reiserfs_file_inode_operations = {
        .setattr = reiserfs_setattr,
        .listxattr = reiserfs_listxattr,
        .permission = reiserfs_permission,
-       .get_acl = reiserfs_get_acl,
+       .get_inode_acl = reiserfs_get_acl,
        .set_acl = reiserfs_set_acl,
        .fileattr_get = reiserfs_fileattr_get,
        .fileattr_set = reiserfs_fileattr_set,
index 3d7a35d6a18bcbc7543070d59988963714ddffb7..4d428e8704bc6f7e35c003c10d2f4af2176557bc 100644 (file)
@@ -1659,7 +1659,7 @@ const struct inode_operations reiserfs_dir_inode_operations = {
        .setattr = reiserfs_setattr,
        .listxattr = reiserfs_listxattr,
        .permission = reiserfs_permission,
-       .get_acl = reiserfs_get_acl,
+       .get_inode_acl = reiserfs_get_acl,
        .set_acl = reiserfs_set_acl,
        .fileattr_get = reiserfs_fileattr_get,
        .fileattr_set = reiserfs_fileattr_set,
@@ -1683,6 +1683,6 @@ const struct inode_operations reiserfs_special_inode_operations = {
        .setattr = reiserfs_setattr,
        .listxattr = reiserfs_listxattr,
        .permission = reiserfs_permission,
-       .get_acl = reiserfs_get_acl,
+       .get_inode_acl = reiserfs_get_acl,
        .set_acl = reiserfs_set_acl,
 };
index 966ba48e33ec977a16043f53298cf252244fb065..93fe414fed18657173a8d52c75b5e36b846065ea 100644 (file)
@@ -372,7 +372,7 @@ int reiserfs_cache_default_acl(struct inode *inode)
        if (IS_PRIVATE(inode))
                return 0;
 
-       acl = get_acl(inode, ACL_TYPE_DEFAULT);
+       acl = get_inode_acl(inode, ACL_TYPE_DEFAULT);
 
        if (acl && !IS_ERR(acl)) {
                int size = reiserfs_acl_size(acl->a_count);
index ab266ba65a840979d0371ce47d82146721ca9023..712238305bc33e866f990d7df6aeb843ad54f86d 100644 (file)
@@ -1103,7 +1103,7 @@ xfs_vn_tmpfile(
 }
 
 static const struct inode_operations xfs_inode_operations = {
-       .get_acl                = xfs_get_acl,
+       .get_inode_acl          = xfs_get_acl,
        .set_acl                = xfs_set_acl,
        .getattr                = xfs_vn_getattr,
        .setattr                = xfs_vn_setattr,
@@ -1130,7 +1130,7 @@ static const struct inode_operations xfs_dir_inode_operations = {
        .rmdir                  = xfs_vn_unlink,
        .mknod                  = xfs_vn_mknod,
        .rename                 = xfs_vn_rename,
-       .get_acl                = xfs_get_acl,
+       .get_inode_acl          = xfs_get_acl,
        .set_acl                = xfs_set_acl,
        .getattr                = xfs_vn_getattr,
        .setattr                = xfs_vn_setattr,
@@ -1157,7 +1157,7 @@ static const struct inode_operations xfs_dir_ci_inode_operations = {
        .rmdir                  = xfs_vn_unlink,
        .mknod                  = xfs_vn_mknod,
        .rename                 = xfs_vn_rename,
-       .get_acl                = xfs_get_acl,
+       .get_inode_acl          = xfs_get_acl,
        .set_acl                = xfs_set_acl,
        .getattr                = xfs_vn_getattr,
        .setattr                = xfs_vn_setattr,
index 3db0b23c6a55265d2f6902c7ba0a26223ba3c2e8..2395e1388e2e7fa2e628fbc0216bcdaa0d3b4b6b 100644 (file)
@@ -560,8 +560,8 @@ struct posix_acl;
 #define ACL_NOT_CACHED ((void *)(-1))
 /*
  * ACL_DONT_CACHE is for stacked filesystems, that rely on underlying fs to
- * cache the ACL.  This also means that ->get_acl() can be called in RCU mode
- * with the LOOKUP_RCU flag.
+ * cache the ACL.  This also means that ->get_inode_acl() can be called in RCU
+ * mode with the LOOKUP_RCU flag.
  */
 #define ACL_DONT_CACHE ((void *)(-3))
 
@@ -2142,7 +2142,7 @@ struct inode_operations {
        struct dentry * (*lookup) (struct inode *,struct dentry *, unsigned int);
        const char * (*get_link) (struct dentry *, struct inode *, struct delayed_call *);
        int (*permission) (struct user_namespace *, struct inode *, int);
-       struct posix_acl * (*get_acl)(struct inode *, int, bool);
+       struct posix_acl * (*get_inode_acl)(struct inode *, int, bool);
 
        int (*readlink) (struct dentry *, char __user *,int);
 
index cd16a756cd1e5eef80ee38674a9b986d02f6d99b..07e171b4428ad3eaaddad5e69f95caf398380a14 100644 (file)
@@ -128,6 +128,6 @@ static inline void forget_all_cached_acls(struct inode *inode)
 }
 #endif /* CONFIG_FS_POSIX_ACL */
 
-struct posix_acl *get_acl(struct inode *inode, int type);
+struct posix_acl *get_inode_acl(struct inode *inode, int type);
 
 #endif  /* __LINUX_POSIX_ACL_H */