Re: [PATCH] usb/mcs7830: Don't use buffers from stack for USBtransfers

From: David Miller
Date: Tue Jan 20 2009 - 17:47:30 EST


From: Arnd Bergmann <arnd@xxxxxxxx>
Date: Tue, 20 Jan 2009 23:45:47 +0100

> On Tuesday 20 January 2009, you wrote:
> > From: Christian Eggers <christian.eggers@xxxxxxxxxxx>
> >
> > mcs7830_set_reg() and mcs7830_get_reg() are called with buffers
> > from stack which must not be used directly for USB transfers.
> > This causes corruption of the stack particulary on non x86
> > architectures because DMA may be used for these transfers.
> >
> > Signed-off-by: Christian Eggers <christian.eggers@xxxxxxxxxxx>
>
> Have you observed problems with this, or just suspected trouble?

Yes, this is in response to SH platform failures.

You cannot DMA from/to the kernel stack, because it might not be in
the aliased linear mapping of physical memory. It could even be
vmalloc()'d memory on some platforms.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/