Messages in this thread | | | From | Andy Shevchenko <> | Date | Mon, 3 Aug 2020 10:25:11 +0300 | Subject | Re: [PATCH] kobject: Avoid premature parent object freeing in kobject_cleanup() |
| |
On Mon, Aug 3, 2020 at 9:47 AM Qu Wenruo <quwenruo.btrfs@gmx.com> wrote: > On 2020/6/5 上午1:46, Rafael J. Wysocki wrote:
...
> > +/** > > + * kobject_del() - Unlink kobject from hierarchy. > > + * @kobj: object. > > + * > > + * This is the function that should be called to delete an object > > + * successfully added via kobject_add(). > > + */ > > +void kobject_del(struct kobject *kobj) > > +{ > > + struct kobject *parent = kobj->parent; > > + > > + __kobject_del(kobj); > > + kobject_put(parent); > > Could you please add an extra check on kobj before accessing kobj->parent?
I do not understand. Where do we access it? kobject_put() is NULL-aware.
> This patch in fact removes the ability to call kobject_del() on NULL > pointer while not cause anything wrong. > > I know this is not a big deal, but such behavior change has already > caused some problem for the incoming btrfs code. > (Now I feels guilty just by looking into the old > kobject_del()/kobject_put() and utilize that feature in btrfs) > > Since the old kobject_del() accepts NULL pointer intentionally, it would > be much better to keep such behavior.
Can you elaborate, please?
-- With Best Regards, Andy Shevchenko
| |