1
0
Fork 0

[PATCH] x86_64: Fix ioctl compat code for /dev/rtc

RTC_IRQP_SET/RTC_EPOCH_SET don't take a pointer to an argument, but the
argument itself.  This actually simplifies the code and makes it work.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
hifive-unleashed-5.1
Andi Kleen 2006-02-26 04:18:55 +01:00 committed by Linus Torvalds
parent ab9b32ee62
commit fc5870f662
1 changed files with 2 additions and 11 deletions

View File

@ -2531,18 +2531,9 @@ static int rtc_ioctl(unsigned fd, unsigned cmd, unsigned long arg)
val32 = kval;
return put_user(val32, (unsigned int __user *)arg);
case RTC_IRQP_SET32:
return sys_ioctl(fd, RTC_IRQP_SET, arg);
case RTC_EPOCH_SET32:
ret = get_user(val32, (unsigned int __user *)arg);
if (ret)
return ret;
kval = val32;
set_fs(KERNEL_DS);
ret = sys_ioctl(fd, (cmd == RTC_IRQP_SET32) ?
RTC_IRQP_SET : RTC_EPOCH_SET,
(unsigned long)&kval);
set_fs(oldfs);
return ret;
return sys_ioctl(fd, RTC_EPOCH_SET, arg);
default:
/* unreached */
return -ENOIOCTLCMD;