Re: linux-next: manual merge of the fscache tree with the pidfd tree

From: Stephen Rothwell
Date: Sun Feb 14 2021 - 16:15:46 EST


Hi all,

On Wed, 27 Jan 2021 10:00:38 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Today's linux-next merge of the fscache tree got a conflict in:
>
> include/linux/fs.h
>
> between commit:
>
> ba73d98745be ("namei: handle idmapped mounts in may_*() helpers")
>
> from the pidfd tree and commit:
>
> 0de0bdfa19fa ("vfs: Export rw_verify_area() for use by cachefiles")
>
> from the fscache tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
>
> diff --cc include/linux/fs.h
> index 7762d3d75230,493804856ab3..000000000000
> --- a/include/linux/fs.h
> +++ b/include/linux/fs.h
> @@@ -2839,22 -2756,11 +2839,23 @@@ static inline int bmap(struct inode *in
> }
> #endif
>
> -extern int notify_change(struct dentry *, struct iattr *, struct inode **);
> -extern int inode_permission(struct inode *, int);
> -extern int generic_permission(struct inode *, int);
> -extern int __check_sticky(struct inode *dir, struct inode *inode);
> +int notify_change(struct user_namespace *, struct dentry *,
> + struct iattr *, struct inode **);
> +int inode_permission(struct user_namespace *, struct inode *, int);
> +int generic_permission(struct user_namespace *, struct inode *, int);
> +static inline int file_permission(struct file *file, int mask)
> +{
> + return inode_permission(file_mnt_user_ns(file),
> + file_inode(file), mask);
> +}
> +static inline int path_permission(const struct path *path, int mask)
> +{
> + return inode_permission(mnt_user_ns(path->mnt),
> + d_inode(path->dentry), mask);
> +}
> +int __check_sticky(struct user_namespace *mnt_userns, struct inode *dir,
> + struct inode *inode);
> + extern int rw_verify_area(int, struct file *, const loff_t *, size_t);
>
> static inline bool execute_ok(struct inode *inode)
> {

With the merge window about to open, this is a reminder that this
conflict still exists.

--
Cheers,
Stephen Rothwell

Attachment: pgpT8RY_HYHET.pgp
Description: OpenPGP digital signature