Re: linux-next: build failure after merge of the overlayfs tree
From: Stephen Rothwell
Date: Thu Sep 02 2021 - 19:03:22 EST
Hi all,
On Thu, 19 Aug 2021 09:39:10 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> 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);
>
This merge fix patch is now needed when the ntfs3 tree is merged with
Linus' tree.
--
Cheers,
Stephen Rothwell
Attachment:
pgptqdgktqydm.pgp
Description: OpenPGP digital signature