Skip to content

Commit 274875f

Browse files
committed
usb: core: config: reverse the size check of the SSP isoc endpoint descriptor
Reverse the check of the size of the usb_ssp_isoc_ep_comp_descriptor structure to be done before accessing the structure itself. Functionally, this doesn't really do anything as the buffer is all internal to the kernel, and reading off the end is just fine, but static checking tools get picky when noticing that a potential read could be made "outside" of an allocated buffer. Not a bugfix, but a cleanup to keep tools from tripping over this constantly and annoying me with their pointless reports. Link: https://patch.msgid.link/2026040630-graded-postwar-760f@gregkh Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 1ace770 commit 274875f

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

drivers/usb/core/config.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ static void usb_parse_ssp_isoc_endpoint_companion(struct device *ddev,
5454
* follows the SuperSpeed Endpoint Companion descriptor
5555
*/
5656
desc = (struct usb_ssp_isoc_ep_comp_descriptor *) buffer;
57-
if (desc->bDescriptorType != USB_DT_SSP_ISOC_ENDPOINT_COMP ||
58-
size < USB_DT_SSP_ISOC_EP_COMP_SIZE) {
57+
if (size < USB_DT_SSP_ISOC_EP_COMP_SIZE ||
58+
desc->bDescriptorType != USB_DT_SSP_ISOC_ENDPOINT_COMP) {
5959
dev_notice(ddev, "Invalid SuperSpeedPlus isoc endpoint companion"
6060
"for config %d interface %d altsetting %d ep %d.\n",
6161
cfgno, inum, asnum, ep->desc.bEndpointAddress);

0 commit comments

Comments
 (0)