From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A467F3B52F8; Thu, 2 Jul 2026 16:26:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783009608; cv=none; b=ZhRajL+b11kvnLyCLNxz8cxG71HISlpxW42J5KNywAKISLzpPRWYuHwKadd+YjfydQoae1t9s+pnybzWssbKlNzmXoLUifx1250fr7jN1XnExVMdiSSYitob3vKsf8pcvwvNA8wop72BjoDiiKPBo2H1ENibiMYnwgUCPlBtbXo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783009608; c=relaxed/simple; bh=nRMGNUwwaPFWcW6A4JHy2/4dK25XuiobJ/muvq5IahY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=omB7nDNAZsnNI4XUZHfP7we0WeluFPKfm073WH8d5hPR24g/NBVt7cneKnV7FUqrVIOc9QzpktBUWjVm5Pqgvy9d4PTeOS7ybbIyJITGwylnkwcV88Pems7IfJoccEwwNu+rt6arQaGzT2GYdKecOS5doywf1m5zvHb/0Y3I+Qk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=dUSjIKLg; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="dUSjIKLg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8A2391F000E9; Thu, 2 Jul 2026 16:26:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1783009605; bh=JgggEdr8fEq92U8kOP4YC5xIYZ5tjgUPizHQzXLuicQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=dUSjIKLgScxNFaDwMDtc+kD0iC89gxhlEONRbU5DJvIhlPPb9PzUDsBiQ0v9NKL+8 XbC06NwKiaGuM2jiUqX7tbYDGK5sQIXC0mVHVxPAamoj9NorEhqVXWhi6+dOrvDHUd H82YGWLi8wfulnrPMSCQ5BR8VGdkbBUc/Al6kUNE= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, stable@kernel.org, Yuan Tan , Yifan Wu , Juefei Pu , Xin Liu , Kuniyuki Iwashima , Jiexun Wang , Ren Wei , Jakub Kicinski , Alexander Martyniuk , Sasha Levin Subject: [PATCH 5.15 19/95] af_unix: Reject SIOCATMARK on non-stream sockets Date: Thu, 2 Jul 2026 18:19:22 +0200 Message-ID: <20260702155109.611856908@linuxfoundation.org> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260702155109.196223802@linuxfoundation.org> References: <20260702155109.196223802@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 5.15-stable review patch. If anyone has any objections, please let me know. ------------------ From: Jiexun Wang commit d119775f2bad827edc28071c061fdd4a91f889a5 upstream. SIOCATMARK reports whether the receive queue is at the urgent mark for MSG_OOB. In AF_UNIX, MSG_OOB is supported only for SOCK_STREAM sockets. SOCK_DGRAM and SOCK_SEQPACKET reject MSG_OOB in sendmsg() and recvmsg(), so they should not support SIOCATMARK either. Return -EOPNOTSUPP for non-stream sockets before checking the receive queue. Fixes: 314001f0bf92 ("af_unix: Add OOB support") Cc: stable@kernel.org Reported-by: Yuan Tan Reported-by: Yifan Wu Reported-by: Juefei Pu Reported-by: Xin Liu Suggested-by: Kuniyuki Iwashima Signed-off-by: Jiexun Wang Signed-off-by: Ren Wei Reviewed-by: Kuniyuki Iwashima Link: https://patch.msgid.link/20260506140825.2987635-1-n05ec@lzu.edu.cn Signed-off-by: Jakub Kicinski Signed-off-by: Alexander Martyniuk Signed-off-by: Sasha Levin --- net/unix/af_unix.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 1676bffe7259dc..8e9a8499db5e66 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -3040,6 +3040,9 @@ static int unix_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) struct sk_buff *skb; int answ = 0; + if (sk->sk_type != SOCK_STREAM) + return -EOPNOTSUPP; + skb = skb_peek(&sk->sk_receive_queue); if (skb && skb == READ_ONCE(unix_sk(sk)->oob_skb)) answ = 1; -- 2.53.0