tree 2bad647ab30da08786e05f988787d92815dec06e parent b95adac775aad29f79ffbbaf5db0e4d8d57f2714 author Kirill Korotaev <[EMAIL PROTECTED]> Sat, 10 Sep 2005 03:05:53 -0700 committer Linus Torvalds <[EMAIL PROTECTED]> Sat, 10 Sep 2005 04:19:43 -0700
[PATCH] lost fput in 32bit ioctl on x86-64 This adds a lost fput in 32bit tiocgdev ioctl on x86-64 [ chrisw: Updated to use fget_light/fput_light ] Signed-Off-By: Kirill Korotaev <[EMAIL PROTECTED]> Signed-Off-By: Maxim Giryaev <[EMAIL PROTECTED]> Signed-off-by: Chris Wright <[EMAIL PROTECTED]> Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]> arch/x86_64/ia32/ia32_ioctl.c | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-) diff --git a/arch/x86_64/ia32/ia32_ioctl.c b/arch/x86_64/ia32/ia32_ioctl.c --- a/arch/x86_64/ia32/ia32_ioctl.c +++ b/arch/x86_64/ia32/ia32_ioctl.c @@ -24,17 +24,26 @@ static int tiocgdev(unsigned fd, unsigned cmd, unsigned int __user *ptr) { - struct file *file = fget(fd); + struct file *file; struct tty_struct *real_tty; + int fput_needed, ret; + file = fget_light(fd, &fput_needed); if (!file) return -EBADF; + + ret = -EINVAL; if (file->f_op->ioctl != tty_ioctl) - return -EINVAL; + goto out; real_tty = (struct tty_struct *)file->private_data; if (!real_tty) - return -EINVAL; - return put_user(new_encode_dev(tty_devnum(real_tty)), ptr); + goto out; + + ret = put_user(new_encode_dev(tty_devnum(real_tty)), ptr); + +out: + fput_light(file, fput_needed); + return ret; } #define RTC_IRQP_READ32 _IOR('p', 0x0b, unsigned int) /* Read IRQ rate */ - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html