um: Fix FD copy size in os_rcv_fd_msg()

[ Upstream commit df447a3b4a4b961c9979b4b3ffb74317394b9b40 ]

When copying FDs, the copy size should not include the control
message header (cmsghdr). Fix it.

Fixes: 5cde6096a4 ("um: generalize os_rcv_fd")
Signed-off-by: Tiwei Bie <tiwei.btw@antgroup.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Tiwei Bie 2025-09-01 08:27:15 +08:00 committed by Greg Kroah-Hartman
parent 00e98b5a69
commit 3112c70b2e

View File

@ -556,7 +556,7 @@ ssize_t os_rcv_fd_msg(int fd, int *fds, unsigned int n_fds,
cmsg->cmsg_type != SCM_RIGHTS) cmsg->cmsg_type != SCM_RIGHTS)
return n; return n;
memcpy(fds, CMSG_DATA(cmsg), cmsg->cmsg_len); memcpy(fds, CMSG_DATA(cmsg), cmsg->cmsg_len - CMSG_LEN(0));
return n; return n;
} }