[PATCH 1/2] staging: iio replaced kmalloc with local variables.

Greg KH gregkh at suse.de
Mon Jun 6 22:21:18 UTC 2011


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 at gmail.com>
> > > 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



More information about the devel mailing list