Skip to content

Commit 6f676c8

Browse files
tmon-nordicrlubos
authored andcommitted
[nrf fromtree] usb: device_next: msc: Do not leak SCSI buffer on dequeue
Multiple submitted requests are getting merged to single cancelled net_buf on endpoint dequeue. While MSC class was correctly decrementing the usage counters, it was not freeing SCSI buffer pointed to by frags. Signed-off-by: Tomasz Moń <[email protected]> (cherry picked from commit 152844a)
1 parent 480ee0b commit 6f676c8

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

subsys/usb/device_next/class/usbd_msc.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -718,6 +718,9 @@ static void usbd_msc_handle_request(struct usbd_class_data *c_data,
718718
}
719719
}
720720
msc_free_scsi_buf(ctx, buf->__buf);
721+
if (buf->frags) {
722+
msc_free_scsi_buf(ctx, buf->frags->__buf);
723+
}
721724
usbd_ep_buf_free(uds_ctx, buf);
722725
}
723726

0 commit comments

Comments
 (0)