From: H. Peter Anvin <hpa@zytor.com>
Date: Fri, 10 Feb 2012 22:08:52 +0000 (-0800)
Subject: compat: Handle COMPAT_USE_64BIT_TIME in the lp driver
X-Git-Tag: firefly_0821_release~3680^2~3194^2~38
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9dd4ccaaf8cde924b78ba5f5b1a8ce3e7ead687f;p=firefly-linux-kernel-4.4.55.git

compat: Handle COMPAT_USE_64BIT_TIME in the lp driver

Enable the lp driver to be used with a compat ABI with 64-bit time.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <greg@kroah.com>
---

diff --git a/drivers/char/lp.c b/drivers/char/lp.c
index f43485607063..a27097173b3a 100644
--- a/drivers/char/lp.c
+++ b/drivers/char/lp.c
@@ -706,16 +706,13 @@ static long lp_compat_ioctl(struct file *file, unsigned int cmd,
 {
 	unsigned int minor;
 	struct timeval par_timeout;
-	struct compat_timeval __user *tc;
 	int ret;
 
 	minor = iminor(file->f_path.dentry->d_inode);
 	mutex_lock(&lp_mutex);
 	switch (cmd) {
 	case LPSETTIMEOUT:
-		tc = compat_ptr(arg);
-		if (get_user(par_timeout.tv_sec, &tc->tv_sec) ||
-		    get_user(par_timeout.tv_usec, &tc->tv_usec)) {
+		if (compat_get_timeval(&par_timeout, compat_ptr(arg))) {
 			ret = -EFAULT;
 			break;
 		}