On Fri, May 14, 2021 at 07:50:19AM +0000, Hayes Wang wrote: > Greg KH <greg@xxxxxxxxx> > > Sent: Friday, May 14, 2021 2:49 PM > [...] > > Because people can create "bad" devices and plug them into a system > > which causes the driver to load and then potentially crash the system or > > do other bad things. > > > > USB drivers now need to be able to handle "malicious" devices, it's been > > that way for many years now. > > My question is that even I check whole the USB descriptor, the malicious > devices could duplicate it easily to pass my checks. That is, I could add a > lot of checks, but it still doesn't prevent malicious devices. Is this meaningful? Checking the whole USB decriptor is fine, yes, they can duplicate that. So that means you need to validate _ALL_ data coming from the device that it is in an acceptable range of values that the driver can correctly handle. thanks, greg k-h