Messages in this thread | | | Date | Thu, 30 Dec 2021 22:32:27 +0100 (CET) | From | Richard Weinberger <> | Subject | Re: [PATCH -next V3] ubi: fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctl |
| |
----- Ursprüngliche Mail ----- > Von: "chengzhihao1" <chengzhihao1@huawei.com> > kernfs_drain() will wait 'root->deactivate_waitq' if > atomic_read(&kn->active) not equals to KN_DEACTIVATED_BIAS. > > The UBI seq_show callback is invoked with avtive cnt taken: > vfs_read > kernfs_fop_read_iter > seq_read_iter > m->op->start (kernfs_seq_start) // kernfs_get_active(of->kn) > kernfs_seq_show > dev_attribute_show [ubi] > m->op->stop (kernfs_seq_stop) // kernfs_put_active(of->kn) > > The kernfs_drain() is stuck at wait_event() until sysfs reading > finished, in my local test.
You are right. This means UBI does this extra check in vain. Maybe even since ever.
Thanks, //richard
| |