From d1cbb17a873c787a527316bbb27551e97d5ad30c Mon Sep 17 00:00:00 2001 From: Gleb Smirnoff Date: Mon, 8 Apr 2024 17:02:00 -0700 Subject: 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 -- cgit v1.2.3