On Wed, Oct 26, 2022 at 05:00:35PM +0200, Bastien Nocera wrote: > Hey, > > On Tue, 2022-08-09 at 11:43 +0200, Bastien Nocera wrote: > > This functionality allows a sufficiently privileged user-space > > process > > to upload a BPF programme that will call to usb_revoke_device() as if > > it were a kernel API. > > > > This functionality will be used by logind to revoke access to devices > > on > > fast user-switching to start with. > > > > logind, and other session management software, does not have access > > to > > the file descriptor used by the application so other identifiers > > are used. > > Locally, I have a newer version of the code that I've been able to test > successfully on some hardware, but I haven't been able to cover all of > its branches. > > So I've started writing some test application that would create devices > with multiple interfaces using dummy_hcd, and client software that > talks to those fake devices. I also have a version of the revoke tool. > > My question is about all the dependencies that those test tools could > use, and where to host it. > > - Can I use libusb? You could, but do you need to just to create a device? > - Can I use libusbgx and raw-gadget? raw-gadget is good, libusbgx I have found is pretty "thin", is it really needed? > - Can I use the GLib versions of those libraries? That might be pushing it. > - Do I need to have those tests as part of the kernel? Ideally yes, why not? > - Does it need to integrate with the kernel's compilation? All kernel tests are in the tree, yes. > - Can I use a Makefile? meson? Makefile should be fine, look at all of the other examples we have. Also tie into the other kernel test framework to provide the proper results in the correct format so that tools can parse them correctly. thanks, greg k-h