aboutsummaryrefslogtreecommitdiffstats
path: root/executor/common_usb.h
Commit message (Collapse)AuthorAgeFilesLines
* sys/linux, executor: minor USB fixes (#1361)Andrey Konovalov2019-08-231-3/+6
|
* sys/linux: add basic USB CDC Ethernet descriptions (#1328)Andrey Konovalov2019-08-091-1/+1
|
* executor: add some USB realted TODOs (#1319)Andrey Konovalov2019-08-071-0/+2
| | | Also simplify timeout related code a bit.
* sys/linux, executor: improve USB descriptionsAndrey Konovalov2019-07-161-6/+49
| | | | | 1. Change HID descriptions to allow devices to have two interrupt endpoints. 2. Remove unneeded responses to OUT control requests from descriptions. 3. Add some debugging code to detect and report missing descriptions.
* executor: fix out-of-bounds in USB fuzzing codeAndrey Konovalov2019-07-111-5/+9
| | | | | We might not have any string descriptors provided at all, use a hardcoded string in this case.
* executor: update USB fuzzing code to use new kernel APIAndrey Konovalov2019-07-111-42/+68
| | | | | The kernel API has changed and now differentiates between IN and OUT control requests.
* sys/linux, executor: add syz_usb_ep_read syzkallAndrey Konovalov2019-07-011-19/+71
| | | | syz_usb_ep_read reads data from USB endpoints other than #0.
* sys/linux, executor: add basic USB HID fuzzing supportAndrey Konovalov2019-06-241-30/+73
| | | | | This commit adds the necessary descriptions and executor adjustments to enable targeted fuzzing of the enumeration process of USB HID devices.
* executor: fix another compiler warningAndrey Konovalov2019-04-251-1/+1
|
* executor: fix compiler warningAndrey Konovalov2019-04-241-2/+2
|
* executor: use NONFAILING in common_usb.hAndrey Konovalov2019-04-231-105/+130
| | | | Also move some code to helper functions.
* executor: adjust waiting time for all usb syzcallsAndrey Konovalov2019-04-231-2/+0
| | | | | | Allow 2000 ms of waiting time for syz_usb_connect and and the same time for the whole program is this syzkall is present. Allow 200 ms of waiting time for syz_usb_disconnect. Remove sleep from syz_usb_control_io.
* all: add basic USB fuzzing supportAndrey Konovalov2019-04-111-0/+452
This commits implements 4 syzcalls: syz_usb_connect, syz_usb_io_control, syz_usb_ep_write and syz_usb_disconnect. Those syzcalls are used to emit USB packets through a custom GadgetFS-like interface (currently exposed at /sys/kernel/debug/usb-fuzzer), which requires special kernel patches. USB fuzzing support is quite basic, as it mostly covers only the USB device enumeration process. Even though the syz_usb_ep_write syzcall does allow to communicate with USB endpoints after the device has been enumerated, no coverage is collected from that code yet.