Thread (14 messages) flat view 14 messages, 6 authors, 2021-05-17

Re: [syzbot] WARNING in rtl8152_probe

From: Alan Stern <stern@rowland.harvard.edu>
Date: 2021-05-17 13:47:22
Also in: lkml, netdev

On Mon, May 17, 2021 at 12:00:19PM +0200, Oliver Neukum wrote:
Am Montag, den 17.05.2021, 01:01 +0000 schrieb Hayes Wang:
quoted
Alan Stern [off-list ref]
quoted
Sent: Friday, May 14, 2021 11:33 PM
quoted
quoted
So if a peculiar emulated device created by syzbot is capable of
crashing the driver, then somewhere there is a bug which needs to
be
fixed.  It's true that fixing all these bugs might not protect
against a
malicious device which deliberately behaves in an apparently
reasonable
manner.  But it does reduce the attack surface.
Thanks for your response.
I will add some checks.
Hi,

the problem in this particular case is in
static bool rtl_vendor_mode(struct usb_interface *intf)
which accepts any config number. It needs to bail out
if you find config #0 to be what the descriptors say,
treating that as an unrecoverable error.
No, the problem is that the routine calls WARN_ON_ONCE when it doesn't 
find an appropriate configuration.  WARN_ON_ONCE means there is a bug or 
problem in the kernel.  That's not the issue here; the issue is that the 
device doesn't have the expected descriptors.

The line should be dev_warn(), not WARN_ON_ONCE.

Alan Stern
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help