Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Apr 2024 00:03:56 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: d1cbb17a873c - main - unix: fix the ad hoc STAILQ_PREPEND()
Message-ID:  <202404090003.43903uVj014889@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=d1cbb17a873c787a527316bbb27551e97d5ad30c

commit d1cbb17a873c787a527316bbb27551e97d5ad30c
Author:     Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2024-04-09 00:02:00 +0000
Commit:     Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2024-04-09 00:02:00 +0000

    unix: fix the ad hoc STAILQ_PREPEND()
    
    If there is nothing to prepend, don't try STAILQ_INSERT_HEAD().
    
    Fixes:  d80a97def9a1db6f07f5d2e68f7ad62b27918947
    Reported-by: syzbot+bb7f3d07c79b5faf8de8@syzkaller.appspotmail.com
---
 sys/kern/uipc_usrreq.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index 1b9416269696..d1f32cf3d711 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -1368,7 +1368,8 @@ restart:
 				UIPC_STREAM_SBCHECK(sb);
 				MPASS(!(sb->sb_state & SBS_CANTRCVMORE));
 				/* XXXGL: STAILQ_PREPEND */
-				if (STAILQ_EMPTY(&sb->sb_mbq))
+				if (STAILQ_EMPTY(&sb->sb_mbq) &&
+				    control != NULL)
 					STAILQ_INSERT_HEAD(&sb->sb_mbq,
 					    control, m_stailq);
 				else



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202404090003.43903uVj014889>