linux-next: build failure after merge of the overlayfs tree

From: Stephen Rothwell
Date: Wed Aug 18 2021 - 19:39:18 EST


Hi all,

After merging the overlayfs tree, today's linux-next build (x86_64
allmodconfig) failed like this:

fs/ntfs3/file.c:1231:13: error: initialization of 'struct posix_acl * (*)(struct inode *, int, bool)' {aka 'struct posix_acl * (*)(struct inode *, int, _Bool)'} from incompatible pointer type 'struct posix_acl * (*)(struct inode *, int)' [-Werror=incompatible-pointer-types]
1231 | .get_acl = ntfs_get_acl,
| ^~~~~~~~~~~~
fs/ntfs3/file.c:1231:13: note: (near initialization for 'ntfs_file_inode_operations.get_acl')

Caused by commit

0cad6246621b ("vfs: add rcu argument to ->get_acl() callback")

interacting with commits

4534a70b7056 ("fs/ntfs3: Add headers and misc files")
82cae269cfa9 ("fs/ntfs3: Add initialization of super block")
4342306f0f0d ("fs/ntfs3: Add file operations and implementation")

from the ntfs3 tree.

I have added the following merge resolution patch.

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Thu, 19 Aug 2021 09:31:21 +1000
Subject: [PATCH] ntfs3: fix up for "vfs: add rcu argument to ->get_acl() callback"

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
fs/ntfs3/ntfs_fs.h | 2 +-
fs/ntfs3/xattr.c | 7 +++++--
2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/fs/ntfs3/ntfs_fs.h b/fs/ntfs3/ntfs_fs.h
index 0c3ac89c3115..a0655b8b7be1 100644
--- a/fs/ntfs3/ntfs_fs.h
+++ b/fs/ntfs3/ntfs_fs.h
@@ -787,7 +787,7 @@ int ntfs_cmp_names_cpu(const struct cpu_str *uni1, const struct le_str *uni2,

/* globals from xattr.c */
#ifdef CONFIG_NTFS3_FS_POSIX_ACL
-struct posix_acl *ntfs_get_acl(struct inode *inode, int type);
+struct posix_acl *ntfs_get_acl(struct inode *inode, int type, bool rcu);
int ntfs_set_acl(struct user_namespace *mnt_userns, struct inode *inode,
struct posix_acl *acl, int type);
int ntfs_init_acl(struct user_namespace *mnt_userns, struct inode *inode,
diff --git a/fs/ntfs3/xattr.c b/fs/ntfs3/xattr.c
index 98871c895e77..9239c388050e 100644
--- a/fs/ntfs3/xattr.c
+++ b/fs/ntfs3/xattr.c
@@ -539,8 +539,11 @@ static struct posix_acl *ntfs_get_acl_ex(struct user_namespace *mnt_userns,
*
* inode_operations::get_acl
*/
-struct posix_acl *ntfs_get_acl(struct inode *inode, int type)
+struct posix_acl *ntfs_get_acl(struct inode *inode, int type, bool rcu)
{
+ if (rcu)
+ return ERR_PTR(-ECHILD);
+
/* TODO: init_user_ns? */
return ntfs_get_acl_ex(&init_user_ns, inode, type, 0);
}
@@ -640,7 +643,7 @@ static int ntfs_xattr_get_acl(struct user_namespace *mnt_userns,
if (!(inode->i_sb->s_flags & SB_POSIXACL))
return -EOPNOTSUPP;

- acl = ntfs_get_acl(inode, type);
+ acl = ntfs_get_acl(inode, type, false);
if (IS_ERR(acl))
return PTR_ERR(acl);

--
2.32.0

--
Cheers,
Stephen Rothwell

Attachment: pgp7Z5QpK4ayV.pgp
Description: OpenPGP digital signature