mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 13:41:51 +00:00
spi: spidev: use memdup_user
Use memdup_user() helper instead of open-coding to simplify the code. Signed-off-by: Geliang Tang <geliangtang@gmail.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
76bf569466
commit
f7929436a2
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user