In the Linux kernel, the following vulnerability has been resolved: usb: potential integer overflow in usbgmaketpg() The variable tpgt in usbgmaketpg() is defined as unsigned long and is assigned to tpgt->tporttpgt, which is defined as u16. This may cause an integer overflow when tpgt is greater than USHRTMAX (65535). I haven't tried to trigger it myself, but it is possible to trigger it by calling usbgmaketpg() with a large value for tpgt. I modified the type of tpgt to match tpgt->tport_tpgt and adjusted the relevant code accordingly. This patch is similar to commit 59c816c1f24d ("vhost/scsi: potential memory corruption").