From owner-freebsd-net Fri Sep 8 14:25:28 2000 Delivered-To: freebsd-net@freebsd.org Received: from fw.wintelcom.net (ns1.wintelcom.net [209.1.153.20]) by hub.freebsd.org (Postfix) with ESMTP id 770EE37B505; Fri, 8 Sep 2000 14:23:23 -0700 (PDT) Received: (from bright@localhost) by fw.wintelcom.net (8.10.0/8.10.0) id e88LNNN14130; Fri, 8 Sep 2000 14:23:23 -0700 (PDT) Date: Fri, 8 Sep 2000 14:23:23 -0700 From: Alfred Perlstein To: wollman@freebsd.org Cc: net@freebsd.org Subject: Your comment re so_gencnt Message-ID: <20000908142322.I12231@fw.wintelcom.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.4i Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org this is from uipc_socket.c: if (so) { /* XXX race condition for reentrant kernel */ bzero(so, sizeof *so); so->so_gencnt = ++so_gencnt; so->so_zone = socket_zone; TAILQ_INIT(&so->so_aiojobq); } Is the race condition on the ++so_gencnt? I'm not sure I follow what's wrong here, so_gencnt doesn't seem to be used anywhere but during allocation and freeing of sockets (and when copied to xsockets) I think the only fix it needs is an atomic_inc of the so_gencnt, correct? Can you explain? -- -Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org] "I have the heart of a child; I keep it in a jar on my desk." To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message