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