⬢ DragonFlyBSD Kernel Audit
DF-5578 / prod_guard.diff
← back to finding ↓ download raw
--- ufm_prod_guarded.c.orig
+++ ufm_prod_guarded.c
@@ -55,6 +55,17 @@
 
 #include <bus/u4b/ufm_ioctl.h>
 
+/* BEGIN DF-5578 harness guard (the ONLY modification vs production):
+ * reroute the EP0 transport (plain usbd_do_request macro, usbdi.h:511-512)
+ * to the cross-TU capture shim ufm_shim_request(), which reproduces the
+ * traced usbd_do_request_flags() completion semantics for an evil / silent
+ * Cypress FM radio.  Everything else in this file is byte-identical to
+ * /usr/src/sys/bus/u4b/misc/ufm.c (sha256 845738f2...). */
+#undef	usbd_do_request
+extern usb_error_t ufm_shim_request(struct usb_device_request *, uint8_t *);
+#define	usbd_do_request(u, m, r, d)	ufm_shim_request((r), (d))
+/* END DF-5578 harness guard */
+
 #define	UFM_CMD0		0x00
 #define	UFM_CMD_SET_FREQ	0x01
 #define	UFM_CMD2		0x02