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>
This commit is contained in:
parent
df9d177aa2
commit
d4d5d205b6
|
@ -496,8 +496,7 @@ int os_rcv_fd(int fd, int *helper_pid_out)
|
||||||
n = recvmsg(fd, &msg, 0);
|
n = recvmsg(fd, &msg, 0);
|
||||||
if(n < 0)
|
if(n < 0)
|
||||||
return -errno;
|
return -errno;
|
||||||
|
else if(n != iov.iov_len)
|
||||||
else if(n != sizeof(iov.iov_len))
|
|
||||||
*helper_pid_out = -1;
|
*helper_pid_out = -1;
|
||||||
|
|
||||||
cmsg = CMSG_FIRSTHDR(&msg);
|
cmsg = CMSG_FIRSTHDR(&msg);
|
||||||
|
|
Loading…
Reference in New Issue