From owner-cvs-src-old@FreeBSD.ORG Mon Jun 22 10:24:10 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F79B106566C for ; Mon, 22 Jun 2009 10:24:10 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5B6A98FC16 for ; Mon, 22 Jun 2009 10:24:10 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MAOA2o082419 for ; Mon, 22 Jun 2009 10:24:10 GMT (envelope-from rwatson@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5MAOAB4082418 for cvs-src-old@freebsd.org; Mon, 22 Jun 2009 10:24:10 GMT (envelope-from rwatson@repoman.freebsd.org) Message-Id: <200906221024.n5MAOAB4082418@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to rwatson@repoman.freebsd.org using -f From: Robert Watson Date: Mon, 22 Jun 2009 10:23:54 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/netatalk COPYRIGHT aarp.c at_control.c at_var.h ddp_input.c ddp_output.c ddp_pcb.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Jun 2009 10:24:10 -0000 rwatson 2009-06-22 10:23:54 UTC FreeBSD src repository Modified files: sys/netatalk COPYRIGHT aarp.c at_control.c at_var.h ddp_input.c ddp_output.c ddp_pcb.c Log: SVN rev 194619 on 2009-06-22 10:23:54Z by rwatson Add a global rwlock, at_ifaddr_rw, to protect the global netatalk address lists, at_ifaddr_list. Acquire the lock, and use ifaddr refcounts where necessary, to close most known address-related races in netatalk. Annotate one potential race in at_control() where we acquire an ifaddr reference, drop the global lock, and scrub the address from the ifnet before re-acquiring the global lock, which could allow for a writer-writer race. MFC after: 3 weeks Revision Changes Path 1.5 +1 -1 src/sys/netatalk/COPYRIGHT 1.48 +34 -4 src/sys/netatalk/aarp.c 1.49 +53 -47 src/sys/netatalk/at_control.c 1.16 +8 -0 src/sys/netatalk/at_var.h 1.36 +25 -21 src/sys/netatalk/ddp_input.c 1.35 +9 -1 src/sys/netatalk/ddp_output.c 1.54 +13 -2 src/sys/netatalk/ddp_pcb.c