From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from flow-a6-smtp.messagingengine.com (flow-a6-smtp.messagingengine.com [103.168.172.141]) (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 A075A36E48E; Fri, 3 Jul 2026 08:15:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.141 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783066508; cv=none; b=KCc8e5b1LS2LKkKjhTYdE8awKfbCje9/9DFjJLdKJR81mMk/G4KgYZDyhVa/wZfJzgu2SkOovooYxASmykrRzxKyPzssPPuFQhgTlxr0SY/fsi/iHq7xGsYC8DWjRpwy9Cz36V9oBCPn65JPt3GB382gaQGj5WZSIrWi4EJ4mUU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783066508; c=relaxed/simple; bh=uKklMmX/FarzYD76ncNoGsncDBQVTvDMxsz7RuvpMaI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=dZuCW+TIwmTvqRwr+rBLWGDPp+zvRtILsTvDd9jWLr90/t4EpkRJQT0UPnpEPdyMIh85RygE3D0Vjoa4tAu0qKYy6ncHPj6V6DK9BYwbI7Rrm16UjSmpq3u2nbdlhkhv54ORxai1FmrmVKVlArRbeh70OF8JDdf+jLfo7MzLF8U= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=Obsidian.Systems; spf=fail smtp.mailfrom=Obsidian.Systems; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=k5SzCKGO; arc=none smtp.client-ip=103.168.172.141 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=Obsidian.Systems Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=Obsidian.Systems Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="k5SzCKGO" Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45]) by mailflow.phl.internal (Postfix) with ESMTP id A653F138013D; Fri, 3 Jul 2026 04:15:05 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-05.internal (MEProxy); Fri, 03 Jul 2026 04:15:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:message-id:mime-version:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1783066505; x=1783073705; bh=L8AaH8HEaSsvrShwQdsU0LGffFk34FHqZnC RLR8S6rI=; b=k5SzCKGOBMEOg1CpKv6ASW03gLjL8lI06DrVhv2EvNbdSQ/kh/7 lQT9qLXUJ0cUu+NFPuPn0GAWiGU+h6zNOKIFwDvnF8BeX7uAaoc5S2je96awYJCX wyCVXdrdVJ9Rz16D3FkGIP39qmaSLkcUkubR1istaW2alEOLmBqTjpkvy+7TJVSe jm9m1MREx6Zbgx8Vw3dNc/V2NHJcecfMBdxJaD9D0Oa6opSBZQ8OD7Ucqkihr95s boAyxwpz/SAXmbhW9jyBC8x7DfPwsnCRU6ZwhCHM5k3MhYi6W2ihfPJNh7NtVNrV 8a5hueULJ9raJYwPJQFBGwp3/ohMeGpm2kA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTE6NBtyOFYvJtG20mXpmAN9Q+T0LNWwFE3JEIVEwC7/Pz/zlIYHrvx3tLNcd9tQQg AsCHjA+F31FQIOa/MdmHQqvcY7IAn7yvh9fd+Ryqr1sY1HOXChPshIuyC93WvW7n1gz35m pey9hVdoLBc+iUpNs++OHOY+PayYYoryPESMj85FZZtf/AKSIFyNrh2ljbn5JYPgszaGWE NHSA6B7AiLm/ekSqmVe6gVZURQGxsI9paM4PUXBCecQe2Tgg1aglrpMJC/f/iUZk56HxFD 7WGuTiqnxqVqLslwIOWvF5+xBVZjM6mX6X/7g/WNj/kxEhwAlq5PsmllPXIQaozbBIbkjF kE8LVnrDKLS6yK4NXgnV9L1RsT6DDrPDiiU79l8FF8MstwZ4d8JcWUrFWrjKUFkIg5/Ar5 Hq2R1XBx4tzRNqmNkB+8518sgJjGJqKUt4HkK6IKAUxf4wHWzEa7oryB1YirW612v88U3C 1o/ThSFlwrQT2YTEkiNGQj6BLNF9KrQe/xBaj35AGH15i+9PDFN9k9lSRo9xceQgt3yGdn EKuHDsgbCNFmT0moadw9yqSKnDS8e0BX9DXDrizNWJ1Q0pHJUll1Q7xFUcii2GR++4QN7y Z6xwKVrMExl27tqLgzSDOPASITqBXnJvTgGmA3BQFrFe8AGi6cmZjWlJM3jw X-ME-Proxy: Feedback-ID: i91b946ab:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 3 Jul 2026 04:15:01 -0400 (EDT) From: John Ericson To: "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Kuniyuki Iwashima Cc: John Ericson , Simon Horman , Christian Brauner , David Rheinsberg , Cong Wang , John Ericson , Sergei Zimmerman , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net v2 1/3] af_unix: fix listen() succeeding on sockets in the wrong state Date: Fri, 3 Jul 2026 04:14:10 -0400 Message-ID: <20260703081416.2583118-1-John.Ericson@Obsidian.Systems> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: John Ericson Commit fd0a109a0f6b ("net, pidfs: prepare for handing out pidfds for reaped sk->sk_peer_pid") inserted a `prepare_peercred()` call between `err = -EINVAL` and the socket-state check in `unix_listen()`. Since `prepare_peercred()` leaves `err` at 0 on success, `listen()` on an AF_UNIX socket that is not in `TCP_CLOSE` or `TCP_LISTEN` state (e.g. one that is already connected) now silently returns success without doing anything, instead of failing with `EINVAL` as it did before. Fixes: fd0a109a0f6b ("net, pidfs: prepare for handing out pidfds for reaped sk->sk_peer_pid") Assisted-by: Claude:claude-fable-5 Signed-off-by: John Ericson --- net/unix/af_unix.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index f7a9d55eee8a..10ed9421e43a 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -823,6 +823,7 @@ static int unix_listen(struct socket *sock, int backlog) if (err) goto out; unix_state_lock(sk); + err = -EINVAL; if (sk->sk_state != TCP_CLOSE && sk->sk_state != TCP_LISTEN) goto out_unlock; if (backlog > sk->sk_max_ack_backlog) -- 2.54.0