parisc: perf: return -EFAULT on error

The copy_from_user() returns the number of bytes remaining to be copied
but we want to return -EFAULT if it's non-zero.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
Dan Carpenter 2016-12-10 12:06:25 +03:00 коммит произвёл Helge Deller
Родитель 637250cc8f
Коммит 82cbd568bc
1 изменённых файлов: 2 добавлений и 3 удалений

Просмотреть файл

@ -301,7 +301,6 @@ static ssize_t perf_read(struct file *file, char __user *buf, size_t cnt, loff_t
static ssize_t perf_write(struct file *file, const char __user *buf, size_t count,
loff_t *ppos)
{
int err;
size_t image_size;
uint32_t image_type;
uint32_t interface_type;
@ -320,8 +319,8 @@ static ssize_t perf_write(struct file *file, const char __user *buf, size_t coun
if (count != sizeof(uint32_t))
return -EIO;
if ((err = copy_from_user(&image_type, buf, sizeof(uint32_t))) != 0)
return err;
if (copy_from_user(&image_type, buf, sizeof(uint32_t)))
return -EFAULT;
/* Get the interface type and test type */
interface_type = (image_type >> 16) & 0xffff;