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:
pgpJW9YmbDylZ.pgp
Description: OpenPGP digital signature