From: Geliang Tang Date: Sat, 6 May 2017 15:42:17 +0000 (+0800) Subject: spi: spidev: use memdup_user X-Git-Tag: v4.14-rc1~614^2^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f7929436a286ca31f0365a7013de968017f76818;p=platform%2Fkernel%2Flinux-rpi.git spi: spidev: use memdup_user Use memdup_user() helper instead of open-coding to simplify the code. Signed-off-by: Geliang Tang Reviewed-by: Geert Uytterhoeven Signed-off-by: Mark Brown --- diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c index 3b57001..d4d2d8d 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c @@ -324,7 +324,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 */ @@ -341,14 +340,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)) { - kfree(ioc); - return ERR_PTR(-EFAULT); - } - return ioc; + return memdup_user(u_ioc, tmp); } static long