summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKirill Korotaev <dev@sw.ru>2005-09-09 11:59:48 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-09 23:24:05 +0200
commitd99901d6fdfb4098b9996de89ffbbae890e08288 (patch)
treebfbe98c9a6fcfe6d10a0009b3b356be2e28489e4
parent[PATCH] lost fput in 32bit ioctl on x86-64 (diff)
downloadlinux-d99901d6fdfb4098b9996de89ffbbae890e08288.tar.xz
linux-d99901d6fdfb4098b9996de89ffbbae890e08288.zip
[PATCH] Lost sockfd_put() in routing_ioctl()
This patch adds lost sockfd_put() in 32bit compat rounting_ioctl() on 64bit platforms Signed-Off-By: Kirill Korotaev <dev@sw.ru> Signed-Off-By: Maxim Giryaev <gem@sw.ru> Signed-off-By: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--fs/compat_ioctl.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c
index 155e612635f1..e28a74203f3b 100644
--- a/fs/compat_ioctl.c
+++ b/fs/compat_ioctl.c
@@ -798,13 +798,16 @@ static int routing_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
r = (void *) &r4;
}
- if (ret)
- return -EFAULT;
+ if (ret) {
+ ret = -EFAULT;
+ goto out;
+ }
set_fs (KERNEL_DS);
ret = sys_ioctl (fd, cmd, (unsigned long) r);
set_fs (old_fs);
+out:
if (mysock)
sockfd_put(mysock);