Re: [PATCH net-next v3 1/9] sysfs: add sysfs_file_change_owner{_by_name}()

From: Christian Brauner
Date: Mon Feb 24 2020 - 08:09:03 EST


On Thu, Feb 20, 2020 at 12:20:49PM +0100, Greg Kroah-Hartman wrote:
> On Tue, Feb 18, 2020 at 05:29:35PM +0100, Christian Brauner wrote:
> > +/**
> > + * sysfs_file_change_owner - change owner of a file.
> > + * @kobj: object.
> > + * @kuid: new owner's kuid
> > + * @kgid: new owner's kgid
> > + */
> > +int sysfs_file_change_owner(struct kobject *kobj, kuid_t kuid, kgid_t kgid)
> > +{
> > + struct kernfs_node *kn;
> > + int error;
> > +
> > + if (!kobj->state_in_sysfs)
> > + return -EINVAL;
> > +
> > + kernfs_get(kobj->sd);
> > +
> > + kn = kobj->sd;
> > + error = internal_change_owner(kn, kobj, kuid, kgid);
> > +
> > + kernfs_put(kn);
> > +
> > + return error;
> > +}
> > +EXPORT_SYMBOL_GPL(sysfs_file_change_owner);
>
> Oops, wait, what "file" are you changing here? You aren't changing the
> kobject's attributes, but rather a file in the kobject's directory,
> right? But kobj->sd is the directory of the kobject itself, so why
> isn't this function just the same thing as sysfs_change_owner()?

I've moved it directly into sysfs_change_owner(), removed the function,
and renamed "_by_name()" back to sysfs_file_change_owner() which is
easier to parse and makes more sense.