From fb8a8333b481cc4256d0b3f0b5b4feaa4594e01f Mon Sep 17 00:00:00 2001 From: Gleb Smirnoff Date: Mon, 8 Apr 2024 17:09:16 -0700 Subject: unix: return immediately on MSG_OOB Jumping to cleanup routines will work on uninitialized stack mc. Fixes: d80a97def9a1db6f07f5d2e68f7ad62b27918947 Reported-by: syzbot+4adf0b37849ea7723586@syzkaller.appspotmail.com --- sys/kern/uipc_usrreq.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'sys/kern/uipc_usrreq.c') diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index d1f32cf3d711..4a1c480c43fa 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -1001,10 +1001,8 @@ uipc_sosend_stream_or_seqpacket(struct socket *so, struct sockaddr *addr, MPASS((uio != NULL && m == NULL) || (m != NULL && uio == NULL)); MPASS(m == NULL || c == NULL); - if (__predict_false(flags & MSG_OOB)) { - error = EOPNOTSUPP; - goto out; - } + if (__predict_false(flags & MSG_OOB)) + return (EOPNOTSUPP); nonblock = (so->so_state & SS_NBIO) || (flags & (MSG_DONTWAIT | MSG_NBIO)); -- cgit v1.2.3