mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
usb: yurex: fix race in probe
The bbu member of the descriptor must be set to the value standing for uninitialized values before the URB whose completion handler sets bbu is submitted. Otherwise there is a window during which probing can overwrite already retrieved data. Cc: stable <stable@kernel.org> Signed-off-by: Oliver Neukum <oneukum@suse.com> Link: https://patch.msgid.link/20260209143720.1507500-1-oneukum@suse.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0d6c8144ca
commit
7a875c0989
@@ -272,6 +272,7 @@ static int yurex_probe(struct usb_interface *interface, const struct usb_device_
|
||||
dev->int_buffer, YUREX_BUF_SIZE, yurex_interrupt,
|
||||
dev, 1);
|
||||
dev->urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
|
||||
dev->bbu = -1;
|
||||
if (usb_submit_urb(dev->urb, GFP_KERNEL)) {
|
||||
retval = -EIO;
|
||||
dev_err(&interface->dev, "Could not submitting URB\n");
|
||||
@@ -280,7 +281,6 @@ static int yurex_probe(struct usb_interface *interface, const struct usb_device_
|
||||
|
||||
/* save our data pointer in this interface device */
|
||||
usb_set_intfdata(interface, dev);
|
||||
dev->bbu = -1;
|
||||
|
||||
/* we can register the device now, as it is ready */
|
||||
retval = usb_register_dev(interface, &yurex_class);
|
||||
|
||||
Reference in New Issue
Block a user