diff options
author | Kirill Korotaev <dev@sw.ru> | 2005-09-09 11:59:48 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-09 23:24:05 +0200 |
commit | d99901d6fdfb4098b9996de89ffbbae890e08288 (patch) | |
tree | bfbe98c9a6fcfe6d10a0009b3b356be2e28489e4 | |
parent | [PATCH] lost fput in 32bit ioctl on x86-64 (diff) | |
download | linux-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.c | 7 |
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); |