aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/init.go
diff options
context:
space:
mode:
authorAndrey Konovalov <andreyknvl@google.com>2019-07-22 19:25:54 +0200
committerGitHub <noreply@github.com>2019-07-22 19:25:54 +0200
commit55e0c07757deebc0c6094915fae19fc0959849e4 (patch)
treeaef999dbc037a017cdb142fca9911223d0bd1c3f /sys/linux/init.go
parent6a786da97c822c3ad536290c412f472e58342c91 (diff)
sys/linux: extract USB HID ids (#1294)
* sys/linux: extract USB HID ids As it turns out the HID kernel subsystem registers only one USB driver that checks that the interface of the connected device has HID class and then looks up its own list of vendor/device ids to find a matching driver. This means that we currently don't generate proper vendor/device ids for USB HID devices. This patch updates the syz-usbgen tool to also extract USB HID vendor/device ids from a running kernel and makes the generated descriptions for HID devices to be patched using the extracted ids. This patch also contains some minor improvements to USB descriptions (better HID descriptions and more replies for some USB classes/drivers). * sys/linux: run make generate
Diffstat (limited to 'sys/linux/init.go')
-rw-r--r--sys/linux/init.go25
1 files changed, 13 insertions, 12 deletions
diff --git a/sys/linux/init.go b/sys/linux/init.go
index e694cce09..e24e7eb77 100644
--- a/sys/linux/init.go
+++ b/sys/linux/init.go
@@ -50,18 +50,19 @@ func InitTarget(target *prog.Target) {
target.SanitizeCall = arch.sanitizeCall
target.SpecialTypes = map[string]func(g *prog.Gen, typ prog.Type, old prog.Arg) (
prog.Arg, []*prog.Call){
- "timespec": arch.generateTimespec,
- "timeval": arch.generateTimespec,
- "sockaddr_alg": arch.generateSockaddrAlg,
- "alg_name": arch.generateAlgName,
- "alg_aead_name": arch.generateAlgAeadName,
- "alg_hash_name": arch.generateAlgHashName,
- "alg_blkcipher_name": arch.generateAlgBlkcipherhName,
- "ipt_replace": arch.generateIptables,
- "ip6t_replace": arch.generateIptables,
- "arpt_replace": arch.generateArptables,
- "ebt_replace": arch.generateEbtables,
- "usb_device_descriptor": arch.generateUsbDeviceDescriptor,
+ "timespec": arch.generateTimespec,
+ "timeval": arch.generateTimespec,
+ "sockaddr_alg": arch.generateSockaddrAlg,
+ "alg_name": arch.generateAlgName,
+ "alg_aead_name": arch.generateAlgAeadName,
+ "alg_hash_name": arch.generateAlgHashName,
+ "alg_blkcipher_name": arch.generateAlgBlkcipherhName,
+ "ipt_replace": arch.generateIptables,
+ "ip6t_replace": arch.generateIptables,
+ "arpt_replace": arch.generateArptables,
+ "ebt_replace": arch.generateEbtables,
+ "usb_device_descriptor": arch.generateUsbDeviceDescriptor,
+ "usb_device_descriptor_hid": arch.generateUsbHidDeviceDescriptor,
}
// TODO(dvyukov): get rid of this, this must be in descriptions.
target.StringDictionary = []string{