From a083215dfb83bea8c632990cd5232c159ebcc676 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Wed, 20 Aug 2025 12:49:45 +0000 Subject: sys/linux: patch in auto-extracted USB IDs for printer class This allows exercising driver quirks that might be defined in the matching rules (the printer driver does not actually define any yet, but this change serves as a reference for doing this for other drivers). Only patch in the IDs that are used in the matching rules of the printer driver in the kernel. Patching other IDs might subvert the kernel into matching the emulated device to a different driver. --- sys/linux/init.go | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'sys/linux/init.go') diff --git a/sys/linux/init.go b/sys/linux/init.go index 4cf539023..1427cebb1 100644 --- a/sys/linux/init.go +++ b/sys/linux/init.go @@ -50,19 +50,20 @@ func InitTarget(target *prog.Target) { target.Neutralize = arch.neutralize target.SpecialTypes = map[string]func(g *prog.Gen, typ prog.Type, dir prog.Dir, 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_skcipher_name": arch.generateAlgSkcipherhName, - "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, + "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_skcipher_name": arch.generateAlgSkcipherhName, + "ipt_replace": arch.generateIptables, + "ip6t_replace": arch.generateIptables, + "arpt_replace": arch.generateArptables, + "ebt_replace": arch.generateEbtables, + "usb_device_descriptor": arch.generateUsbDeviceDescriptor, + "usb_device_descriptor_printer": arch.generateUsbPrinterDeviceDescriptor, + "usb_device_descriptor_hid": arch.generateUsbHidDeviceDescriptor, } target.AuxResources = map[string]bool{ -- cgit mrf-deployment