瀏覽代碼

[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>
Kirill Korotaev 19 年之前
父節點
當前提交
d99901d6fd
共有 1 個文件被更改,包括 5 次插入2 次删除
  1. 5 2
      fs/compat_ioctl.c

+ 5 - 2
fs/compat_ioctl.c

@@ -798,13 +798,16 @@ static int routing_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
 		r = (void *) &r4;
 		r = (void *) &r4;
 	}
 	}
 
 
-	if (ret)
-		return -EFAULT;
+	if (ret) {
+		ret = -EFAULT;
+		goto out;
+	}
 
 
 	set_fs (KERNEL_DS);
 	set_fs (KERNEL_DS);
 	ret = sys_ioctl (fd, cmd, (unsigned long) r);
 	ret = sys_ioctl (fd, cmd, (unsigned long) r);
 	set_fs (old_fs);
 	set_fs (old_fs);
 
 
+out:
 	if (mysock)
 	if (mysock)
 		sockfd_put(mysock);
 		sockfd_put(mysock);