mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 12:44:11 +08:00
watchdog: rc32434_wdt: fix ioctl error handling
Calling return copy_to_user(...) in an ioctl will not do the right thing if there's a pagefault: copy_to_user returns the number of bytes not copied in this case. Fix up watchdog/rc32434_wdt to do return copy_to_user(...)) ? -EFAULT : 0; instead. Cc: stable@vger.kernel.org Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
This commit is contained in:
parent
972ec35103
commit
10e7ac22cd
@ -237,7 +237,7 @@ static long rc32434_wdt_ioctl(struct file *file, unsigned int cmd,
|
||||
return -EINVAL;
|
||||
/* Fall through */
|
||||
case WDIOC_GETTIMEOUT:
|
||||
return copy_to_user(argp, &timeout, sizeof(int));
|
||||
return copy_to_user(argp, &timeout, sizeof(int)) ? -EFAULT : 0;
|
||||
default:
|
||||
return -ENOTTY;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user