diff options
author | Jeff Dike <jdike@addtoit.com> | 2007-11-14 16:58:51 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-14 18:45:37 -0800 |
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 b542a3a021b..f8346275862 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); |