aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/os-Linux
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2007-11-14 19:58:51 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-14 21:45:37 -0500
commitd4d5d205b653fe68c898d42e7a27a7363a4fb3ba (patch)
tree2a453594731bf41e7ac41f3205c4819449b534e8 /arch/um/os-Linux
parentdf9d177aa28d50e64bae6fbd6b263833079e3571 (diff)
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>
Diffstat (limited to 'arch/um/os-Linux')
-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)
496 n = recvmsg(fd, &msg, 0); 496 n = recvmsg(fd, &msg, 0);
497 if(n < 0) 497 if(n < 0)
498 return -errno; 498 return -errno;
499 499 else if(n != iov.iov_len)
500 else if(n != sizeof(iov.iov_len))
501 *helper_pid_out = -1; 500 *helper_pid_out = -1;
502 501
503 cmsg = CMSG_FIRSTHDR(&msg); 502 cmsg = CMSG_FIRSTHDR(&msg);