Re: [PATCH 1/2] staging: iio replaced kmalloc with local variables.
From: Greg KH
Date: Mon Jun 06 2011 - 18:22:49 EST
On Mon, Jun 06, 2011 at 03:10:57PM -0700, Joe Perches wrote:
> On Mon, 2011-06-06 at 14:55 -0700, Greg KH wrote:
> > On Tue, Jun 07, 2011 at 12:37:37AM +0530, anish wrote:
> > > From: anish kumar <anish198519851985@xxxxxxxxx>
> > > Replace kmalloc with local variables as it was un-necessary and
> > > also removed the redudant code after this change.
> > SPI data, like USB data, has to come from kmalloced data, not from the
> > stack, or bad things can, and will, happen.
>
> Perhaps just add a comment like:
>
> + u8 *tx = kmalloc(2, GFP_KERNEL); /* can't be on stack */
You really want to do to that for _EVERY_ SPI and USB driver? I don't
think so. It's a known thing that this is a requirement for SPI and USB
drivers.
> It might be better to do a single kmalloc(4)
> than 2 separate kmalloc(2)'s.
No, don't do that, that might cause problems as well with some
controllers. We see some ARM controllers having problems with alignment
issues. Now ideally we are fixing them in those controllers, and not
having to fix them in the individual drivers, but if at all possible, a
new allocation is the way to go.
thanks,
greg k-h
--
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/