On Sat, May 6, 2017 at 5:42 PM, Geliang Tang <geliangtang@xxxxxxxxx> wrote: > Use memdup_user() helper instead of open-coding to simplify the code. > > Signed-off-by: Geliang Tang <geliangtang@xxxxxxxxx> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > --- a/drivers/spi/spidev.c > +++ b/drivers/spi/spidev.c > @@ -325,7 +325,6 @@ static struct spi_ioc_transfer * > spidev_get_ioc_message(unsigned int cmd, struct spi_ioc_transfer __user *u_ioc, > unsigned *n_ioc) > { > - struct spi_ioc_transfer *ioc; > u32 tmp; > > /* Check type, command number and direction */ > @@ -342,14 +341,7 @@ spidev_get_ioc_message(unsigned int cmd, struct spi_ioc_transfer __user *u_ioc, > return NULL; > > /* copy into scratch area */ > - ioc = kmalloc(tmp, GFP_KERNEL); > - if (!ioc) > - return ERR_PTR(-ENOMEM); > - if (__copy_from_user(ioc, u_ioc, tmp)) { Note that as memdup_user() calls copy_from_user(), it repeats the access_ok() check already done by spidev_ioctl(). > - kfree(ioc); > - return ERR_PTR(-EFAULT); > - } > - return ioc; > + return memdup_user(u_ioc, tmp); Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html