From 62e3a414ad7a20d09fd4ea6709ae4ca5d1335a4f Mon Sep 17 00:00:00 2001 From: Andrew Kozlik Date: Mon, 29 Apr 2024 18:45:17 +0200 Subject: [PATCH] chore(core): Disable wait_random() for prodtest and VCP. [no changelog] --- core/embed/trezorhal/stm32f4/random_delays.c | 2 ++ core/embed/trezorhal/stm32f4/usb.c | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/core/embed/trezorhal/stm32f4/random_delays.c b/core/embed/trezorhal/stm32f4/random_delays.c index a2f11bd313..7a27cc4eb0 100644 --- a/core/embed/trezorhal/stm32f4/random_delays.c +++ b/core/embed/trezorhal/stm32f4/random_delays.c @@ -193,6 +193,7 @@ void rdi_handler(uint32_t uw_tick) { * against fault injection. */ void wait_random(void) { +#ifndef TREZOR_PRODTEST int wait = drbg_random8(); volatile int i = 0; volatile int j = wait; @@ -207,4 +208,5 @@ void wait_random(void) { if (i != wait || j != 0) { shutdown_privileged(); } +#endif } diff --git a/core/embed/trezorhal/stm32f4/usb.c b/core/embed/trezorhal/stm32f4/usb.c index 7a6ab42c96..8efc0f5fef 100644 --- a/core/embed/trezorhal/stm32f4/usb.c +++ b/core/embed/trezorhal/stm32f4/usb.c @@ -490,7 +490,6 @@ static uint8_t usb_class_setup(USBD_HandleTypeDef *dev, wait_random(); return usb_hid_class_setup(dev, &usb_ifaces[req->wIndex].hid, req); case USB_IFACE_TYPE_VCP: - wait_random(); return usb_vcp_class_setup(dev, &usb_ifaces[req->wIndex].vcp, req); case USB_IFACE_TYPE_WEBUSB: wait_random(); @@ -516,7 +515,6 @@ static uint8_t usb_class_data_in(USBD_HandleTypeDef *dev, uint8_t ep_num) { usb_hid_class_data_in(dev, &usb_ifaces[i].hid, ep_num); break; case USB_IFACE_TYPE_VCP: - wait_random(); usb_vcp_class_data_in(dev, &usb_ifaces[i].vcp, ep_num); break; case USB_IFACE_TYPE_WEBUSB: @@ -541,7 +539,6 @@ static uint8_t usb_class_data_out(USBD_HandleTypeDef *dev, uint8_t ep_num) { usb_hid_class_data_out(dev, &usb_ifaces[i].hid, ep_num); break; case USB_IFACE_TYPE_VCP: - wait_random(); usb_vcp_class_data_out(dev, &usb_ifaces[i].vcp, ep_num); break; case USB_IFACE_TYPE_WEBUSB: @@ -559,7 +556,6 @@ static uint8_t usb_class_sof(USBD_HandleTypeDef *dev) { for (int i = 0; i < USBD_MAX_NUM_INTERFACES; i++) { switch (usb_ifaces[i].type) { case USB_IFACE_TYPE_VCP: - wait_random(); usb_vcp_class_sof(dev, &usb_ifaces[i].vcp); break; default: