gadgetfs: how to wait for USB device initialization?
From: Andrey Konovalov
Date: Tue Jun 13 2017 - 08:21:14 EST
Hi!
I'm trying to use gadgetfs to fuzz USB device drivers by simply
connecting random devices for now.
What I want to achieve right now is the following:
1. mount gadgetfs
2. emulate connection of a new USB device
3. wait for the device to finish initializing
4. unmount gadgetfs
5. goto 1
The question is how do I wait for the device to finish initializing
(the corresponding USB driver to finish probing?) before unmounting
gadgetfs? As I understand, when I write device description to
"/dev/gadget/dummy_udc" the initialization happens asynchronously
after writing is done.
To mount and unmount gadgetfs right now I do:
mount("none", "/dev/gadget", "gadgetfs", 0, NULL)
umount2("/dev/gadget", MNT_FORCE | MNT_DETACH)
Thanks!