diff options
author | Jeff Dike <jdike@addtoit.com> | 2007-11-14 19:58:51 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-14 21:45:37 -0500 |
commit | d4d5d205b653fe68c898d42e7a27a7363a4fb3ba (patch) | |
tree | 2a453594731bf41e7ac41f3205c4819449b534e8 /arch/um/os-Linux/file.c | |
parent | df9d177aa28d50e64bae6fbd6b263833079e3571 (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/file.c')
-rw-r--r-- | arch/um/os-Linux/file.c | 3 |
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); |