summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2007-11-14 16:58:51 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-14 18:45:37 -0800
commitd4d5d205b653fe68c898d42e7a27a7363a4fb3ba (patch)
tree2a453594731bf41e7ac41f3205c4819449b534e8
parentdf9d177aa28d50e64bae6fbd6b263833079e3571 (diff)
downloadlinux-stable-d4d5d205b653fe68c898d42e7a27a7363a4fb3ba.tar.gz
linux-stable-d4d5d205b653fe68c898d42e7a27a7363a4fb3ba.tar.bz2
linux-stable-d4d5d205b653fe68c898d42e7a27a7363a4fb3ba.zip
uml: fix recvmsg return value checking
Stupid bug - we need to compare the return value of recvmsg to the value of iov_len, not its size. This caused port_helper processes not to be killed on shutdown on x86_64 because the pids weren't being passed out properly. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--arch/um/os-Linux/file.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/um/os-Linux/file.c b/arch/um/os-Linux/file.c
index b542a3a021bf..f83462758627 100644
--- a/arch/um/os-Linux/file.c
+++ b/arch/um/os-Linux/file.c
@@ -496,8 +496,7 @@ int os_rcv_fd(int fd, int *helper_pid_out)
n = recvmsg(fd, &msg, 0);
if(n < 0)
return -errno;
-
- else if(n != sizeof(iov.iov_len))
+ else if(n != iov.iov_len)
*helper_pid_out = -1;
cmsg = CMSG_FIRSTHDR(&msg);