On Mon, 2018-07-30 at 07:13 -0700, tj@kernel.org wrote:
Also, wouldn't it be better to just expose sysfs_break/unbreak and then do sth like the following from scsi?
kobject_get();
sysfs_break_active_protection(); do normal sysfs removal; sysfs_unbreak..(); kobject_put();
Hello Tejun,
It's not clear to me how the sysfs_break_active_protection() should obtain the struct kernfs_node pointer to the attribute. Calling that function before device_remove_file_self() causes a double call to kernfs_break_active_protection(), which is wrong. Calling kernfs_find_and_get(kobj->sd, attr->name) after the attribute has been removed results in a NULL pointer because the attribute that that call tries to look up has already been removed. Should I proceed with the approach proposed in the patches attached to a previous e-mail?
Thanks,
Bart.