[PATCH] usb: gadget: aspeed: fix buffer overflow
Benjamin Herrenschmidt
benh at kernel.crashing.org
Wed Oct 26 09:29:23 AEDT 2022
On Tue, 2022-10-25 at 14:21 +0800, Lei Yu wrote:
>
> This case is treated as an error and we do not care about the
> following data.
> Similarly, if we change the MTU in BMC and let BMC ping the OS, the
> OS
> kernel does not crash and it gets RX errors, and the ping fails.
>
> # ifconfig usb0
> usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
> ...
> RX packets 85 bytes 15380 (15.0 KiB)
> RX errors 51 dropped 0 overruns 0 frame 51
>
> With this patch, we get the similar behavior on BMC that the RX
> errors
> are increasing.
>
> > Additionally, I'm curious, why in this specific case is the device
> > sending more data than
> > the buffer can hold ? The MTU change should have resulted in
> > buffers being re-allocated no ?
>
> The issue is found in a rare case during BIOS boot, we assume that
> BIOS is sending unexpected data to BMC for unknown reasons.
Ok thanks.
Acked-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> > Or did you change the MTU on the remote and not on the local device
> > ?
> >
>
> Yes, the MTU is changed to 2000 in OS and kept 1500 on BMC, then the
> issue is reproduced. (see detailed steps in the above email).
>
> The reason we made the above test is because we are trying to
> reproduce the behavior as BIOS, and from the logs it looks like it's
> sending a packet larger than MTU. Then we tried to adjust the MTU on
> the OS side and reproduced the issue.
More information about the Linux-aspeed
mailing list