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

From: Stephen Rothwell
Date: Wed Feb 24 2021 - 17:41:16 EST


Hi all,

On Mon, 15 Feb 2021 08:14:39 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> 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.

This is now a conflict between the fscache tree and Linus' tree.

--
Cheers,
Stephen Rothwell

Attachment: pgpivQ4qGAfAz.pgp
Description: OpenPGP digital signature