diff options
author | H. Peter Anvin <hpa@zytor.com> | 2012-02-10 17:08:52 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2012-02-20 15:48:47 -0500 |
commit | 9dd4ccaaf8cde924b78ba5f5b1a8ce3e7ead687f (patch) | |
tree | fcd2b60f8d41ef86ab7eb73bb3dcaf154ed4cd8d /drivers/char/lp.c | |
parent | 6684ba202b5ab2f36d574c72fe50c207d99b3e35 (diff) |
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>
Diffstat (limited to 'drivers/char/lp.c')
-rw-r--r-- | drivers/char/lp.c | 5 |
1 files changed, 1 insertions, 4 deletions
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, | |||
706 | { | 706 | { |
707 | unsigned int minor; | 707 | unsigned int minor; |
708 | struct timeval par_timeout; | 708 | struct timeval par_timeout; |
709 | struct compat_timeval __user *tc; | ||
710 | int ret; | 709 | int ret; |
711 | 710 | ||
712 | minor = iminor(file->f_path.dentry->d_inode); | 711 | minor = iminor(file->f_path.dentry->d_inode); |
713 | mutex_lock(&lp_mutex); | 712 | mutex_lock(&lp_mutex); |
714 | switch (cmd) { | 713 | switch (cmd) { |
715 | case LPSETTIMEOUT: | 714 | case LPSETTIMEOUT: |
716 | tc = compat_ptr(arg); | 715 | if (compat_get_timeval(&par_timeout, compat_ptr(arg))) { |
717 | if (get_user(par_timeout.tv_sec, &tc->tv_sec) || | ||
718 | get_user(par_timeout.tv_usec, &tc->tv_usec)) { | ||
719 | ret = -EFAULT; | 716 | ret = -EFAULT; |
720 | break; | 717 | break; |
721 | } | 718 | } |