Re: [PATCH v3 1/4] remoteproc: core: Move cdev add before device add

Siddharth Gupta
2021-06-15T19:04:01Z

On 6/14/2021 9:56 PM, Greg KH wrote:
> On Mon, Jun 14, 2021 at 07:21:08PM -0700, Siddharth Gupta wrote:
>> When cdev_add is called after device_add has been called there is no
>> way for the userspace to know about the addition of a cdev as cdev_add
>> itself doesn't trigger a uevent notification, or for the kernel to
>> know about the change to devt. This results in two problems:
>> - mknod is never called for the cdev and hence no cdev appears on
>> devtmpfs.
>> - sysfs links to the new cdev are not established.
>>
>> The cdev needs to be added and devt assigned before device_add() is
>> called in order for the relevant sysfs and devtmpfs entries to be
>> created and the uevent to be properly populated.
> So this means no one ever ran this code on a system that used devtmpfs?
>
> How was it ever tested?
My testing was done with toybox + Android's ueventd ramdisk.
As I mentioned in the discussion, the race became evident
recently. I will make sure to test all such changes without
systemd/ueventd in the future.

Thanks,
Sid