Date: Sat, 28 May 2022 03:49:00 GMT From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: d64f2f42c111 - main - unix: unp_externalize() can M_WAITOK Message-ID: <202205280349.24S3n064014424@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=d64f2f42c111009dade9ab7ae4d75a0256630e14 commit d64f2f42c111009dade9ab7ae4d75a0256630e14 Author: Gleb Smirnoff <glebius@FreeBSD.org> AuthorDate: 2022-05-28 03:48:38 +0000 Commit: Gleb Smirnoff <glebius@FreeBSD.org> CommitDate: 2022-05-28 03:48:38 +0000 unix: unp_externalize() can M_WAITOK Reviewed by: markj Differential revision: https://reviews.freebsd.org/D35318 --- sys/kern/uipc_usrreq.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 4903120fffeb..0796c383134c 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -2041,13 +2041,7 @@ unp_externalize(struct mbuf *control, struct mbuf **controlp, int flags) */ newlen = newfds * sizeof(int); *controlp = sbcreatecontrol(NULL, newlen, - SCM_RIGHTS, SOL_SOCKET, M_NOWAIT); - if (*controlp == NULL) { - FILEDESC_XUNLOCK(fdesc); - error = E2BIG; - unp_freerights(fdep, newfds); - goto next; - } + SCM_RIGHTS, SOL_SOCKET, M_WAITOK); fdp = (int *) CMSG_DATA(mtod(*controlp, struct cmsghdr *)); @@ -2079,11 +2073,7 @@ unp_externalize(struct mbuf *control, struct mbuf **controlp, int flags) if (error || controlp == NULL) goto next; *controlp = sbcreatecontrol(NULL, datalen, - cm->cmsg_type, cm->cmsg_level, M_NOWAIT); - if (*controlp == NULL) { - error = ENOBUFS; - goto next; - } + cm->cmsg_type, cm->cmsg_level, M_WAITOK); bcopy(data, CMSG_DATA(mtod(*controlp, struct cmsghdr *)), datalen);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202205280349.24S3n064014424>