On Tue, Apr 09, 2013 at 01:22:09PM +0200, Veaceslav Falico wrote: > Add a new function, kset_obj_exists(), which is identical to > kset_find_obj() but doesn't take a reference to the kobject > found and only returns bool if found/not found. > > The main purpose would be to avoid the possible race scenario, > when we could get the reference in between the kref_put() and > kobject_release() functions (i.e. kref_put() already ran, > refcount became 0, but the kobject_release() function still > didn't run, and we try to get via kobject_get() and thus ending > up with a released kobject). It can be triggered, for example, > by running insmod/rmmod bonding in parallel, which ends up in > a race between kset_obj_find() in mod_sysfs_init() and rmmod's > mod_sysfs_fini()/kobject_put(). As Rusty points out, this isn't a kobject issue that can be solved with a new api call, but rather, the user of the kobject code needs to be fixed, with something like his proposed patch instead. So, because of this, I can't take this patch, sorry. greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html