Date: Sat, 29 Jul 2023 08:22:51 GMT From: Dmitry Chagin <dchagin@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 67116c69052d - main - linux(4): Fix control message size calculation Message-ID: <202307290822.36T8Mpfa082405@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=67116c69052d27dbd6d6c066104850d4d53f0041 commit 67116c69052d27dbd6d6c066104850d4d53f0041 Author: Dmitry Chagin <dchagin@FreeBSD.org> AuthorDate: 2023-07-29 08:21:35 +0000 Commit: Dmitry Chagin <dchagin@FreeBSD.org> CommitDate: 2023-07-29 08:21:35 +0000 linux(4): Fix control message size calculation To determine the size in bytes needed to hold a control message and its contents of length len, CMSG_SPACE should be used. Reviewed by: Differential Revision: https://reviews.freebsd.org/D41224 MFC after: 1 week --- sys/compat/linux/linux_socket.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c index dd8d688a6916..ac411aae1cb3 100644 --- a/sys/compat/linux/linux_socket.c +++ b/sys/compat/linux/linux_socket.c @@ -1852,7 +1852,7 @@ cont: if (error != 0) goto bad; - if (outlen + LINUX_CMSG_LEN(datalen) > maxlen) { + if (outlen + LINUX_CMSG_SPACE(datalen) > maxlen) { if (outlen == 0) { error = EMSGSIZE; goto err; @@ -1871,7 +1871,7 @@ cont: error = copyout(data, outbuf, datalen); if (error == 0) { outbuf += LINUX_CMSG_ALIGN(datalen); - outlen += LINUX_CMSG_LEN(datalen); + outlen += LINUX_CMSG_SPACE(datalen); } } err:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202307290822.36T8Mpfa082405>