From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Fri, 12 Feb 2016 21:57:24 +0100 Subject: [U-Boot] [PATCH] usb: eth: fix memalign() parameter order In-Reply-To: <1455310561-4987-1-git-send-email-swarren@wwwdotorg.org> References: <1455310561-4987-1-git-send-email-swarren@wwwdotorg.org> Message-ID: <56BE4734.7080507@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 02/12/2016 09:56 PM, Stephen Warren wrote: > From: Stephen Warren > > The alignment and size were swapped, leading to malloc heap corruption. > > On my system, this sometimes caused U-Boot to crash during or after > certain USB Ethernet operations. > > Fixes: c8c2797c3810 ("dm: usb: eth: Support driver model with USB Ethernet") > Signed-off-by: Stephen Warren Oh this is a nice catch! Acked-by: Marek Vasut > --- > drivers/usb/eth/usb_ether.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/eth/usb_ether.c b/drivers/usb/eth/usb_ether.c > index b9c9a8402e39..36734e2e51b3 100644 > --- a/drivers/usb/eth/usb_ether.c > +++ b/drivers/usb/eth/usb_ether.c > @@ -73,7 +73,7 @@ int usb_ether_register(struct udevice *dev, struct ueth_data *ueth, int rxsize) > } > > ueth->rxsize = rxsize; > - ueth->rxbuf = memalign(rxsize, ARCH_DMA_MINALIGN); > + ueth->rxbuf = memalign(ARCH_DMA_MINALIGN, rxsize); > if (!ueth->rxbuf) > return -ENOMEM; > >