Re: linux-next: manual merge of the driver-core tree with the net-next tree

From: Stephen Rothwell
Date: Wed Aug 15 2018 - 19:43:00 EST


Hi all,

On Mon, 23 Jul 2018 08:20:46 +0200 Greg KH <greg@xxxxxxxxx> wrote:
>
> On Mon, Jul 23, 2018 at 03:12:24PM +1000, Stephen Rothwell wrote:
> >
> > Today's linux-next merge of the driver-core tree got a conflict in:
> >
> > fs/sysfs/group.c
> >
> > between commit:
> >
> > 5f81880d5204 ("sysfs, kobject: allow creating kobject belonging to arbitrary users")
> >
> > from the net-next tree and commit:
> >
> > c855cf2759d2 ("sysfs: Fix internal_create_group() for named group updates")
> >
> > from the driver-core tree.
> >
> > I fixed it up (I think - 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.
> >
> > --
> > Cheers,
> > Stephen Rothwell
> >
> > diff --cc fs/sysfs/group.c
> > index c7a716c4acc9,38240410f831..000000000000
> > --- a/fs/sysfs/group.c
> > +++ b/fs/sysfs/group.c
> > @@@ -122,15 -118,23 +122,24 @@@ static int internal_create_group(struc
> > kobj->name, grp->name ?: "");
> > return -EINVAL;
> > }
> > + kobject_get_ownership(kobj, &uid, &gid);
> > if (grp->name) {
> > - kn = kernfs_create_dir_ns(kobj->sd, grp->name,
> > - S_IRWXU | S_IRUGO | S_IXUGO,
> > - uid, gid, kobj, NULL);
> > - if (IS_ERR(kn)) {
> > - if (PTR_ERR(kn) == -EEXIST)
> > - sysfs_warn_dup(kobj->sd, grp->name);
> > - return PTR_ERR(kn);
> > + if (update) {
> > + kn = kernfs_find_and_get(kobj->sd, grp->name);
> > + if (!kn) {
> > + pr_warn("Can't update unknown attr grp name: %s/%s\n",
> > + kobj->name, grp->name);
> > + return -EINVAL;
> > + }
> > + } else {
> > - kn = kernfs_create_dir(kobj->sd, grp->name,
> > - S_IRWXU | S_IRUGO | S_IXUGO,
> > - kobj);
> > ++ kn = kernfs_create_dir_ns(kobj->sd, grp->name,
> > ++ S_IRWXU | S_IRUGO | S_IXUGO,
> > ++ uid, gid, kobj, NULL);
> > + if (IS_ERR(kn)) {
> > + if (PTR_ERR(kn) == -EEXIST)
> > + sysfs_warn_dup(kobj->sd, grp->name);
> > + return PTR_ERR(kn);
> > + }
> > }
> > } else
> > kn = kobj->sd;
>
>
> I think this is correct. Rajat, can you verify it please?

This is now a conflict between Linus' tree and the driver-core tree.
--
Cheers,
Stephen Rothwell

Attachment: pgpZnb0Mr9uw5.pgp
Description: OpenPGP digital signature