git: 1cb6dc1627c4 - stable/13 - linux(4): Fix control message size calculation again
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 21 Aug 2023 11:41:14 UTC
The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=1cb6dc1627c46a0d4b461a4c76f9ac681a5dff27 commit 1cb6dc1627c46a0d4b461a4c76f9ac681a5dff27 Author: Dmitry Chagin <dchagin@FreeBSD.org> AuthorDate: 2023-08-14 12:46:11 +0000 Commit: Dmitry Chagin <dchagin@FreeBSD.org> CommitDate: 2023-08-21 10:39:04 +0000 linux(4): Fix control message size calculation again It looks Linux recvmsg allows msg_controllen size less then CMSG_SPACE buffer, at least for case with one cmsghdr. Glibc misc/tst-scm_rights test succed on Ubuntu 23.04 Fixes: 67116c69 "linux(4): Fix control message size calculation" MFC after: 1 week (cherry picked from commit 7d561928e65af6fe90ff9e316b2d50668c53b464) --- sys/compat/linux/linux_socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c index 393faa5429ce..b30ec4e270f4 100644 --- a/sys/compat/linux/linux_socket.c +++ b/sys/compat/linux/linux_socket.c @@ -1847,7 +1847,7 @@ cont: if (error != 0) goto bad; - if (outlen + LINUX_CMSG_SPACE(datalen) > maxlen) { + if (outlen + LINUX_CMSG_LEN(datalen) > maxlen) { if (outlen == 0) { error = EMSGSIZE; goto err;