Date: Sat, 16 Oct 2004 15:03:26 +0300 From: Giorgos Keramidas <keramida@freebsd.org> To: gnn@freebsd.org, rwatson@freebsd.org Cc: freebsd-net@freebsd.org Subject: Re: Locking fixes to IPv6 scope6.c Message-ID: <20041016120326.GA34124@gothmog.gr> In-Reply-To: <m2is9b9fva.wl@minion.local.neville-neil.com>
index | next in thread | previous in thread | raw e-mail
On 2004-10-16 18:22, gnn@FreeBSD.org wrote:
> Howdy,
>
> Here is a proposed set of diffs for locking fixes in the
> scope6.c module. Please let me know anyone has questions or
> comments.
>
> Thanks,
> George
I'm not a networking expert, but there are some style bugs you might
want to have fixed before committing this:
> Index: scope6.c
> ===================================================================
> RCS file: /Volumes/exported/FreeBSD-CVS/src/sys/netinet6/scope6.c,v
> retrieving revision 1.10
> diff -u -r1.10 scope6.c
> --- scope6.c 22 Oct 2003 15:13:36 -0000 1.10
> +++ scope6.c 16 Oct 2004 09:19:53 -0000
> @@ -1,4 +1,4 @@
> -/* $FreeBSD$ */
> +/* $FreeBSD: src/sys/netinet6/scope6.c,v 1.10 2003/10/22 15:13:36 ume Exp $ */
> /* $KAME: scope6.c,v 1.10 2000/07/24 13:29:31 itojun Exp $ */
>
> /*
> @@ -71,12 +71,14 @@
> scope6_ifattach(ifp)
> struct ifnet *ifp;
> {
> - int s = splnet();
> +
> struct scope6_id *sid;
The empty line at the beginning of the function body can go away, since
there *is* at least one local variable present.
> + /*
> + * SID retrieves data from the afdata section of the ifnet
> + * structure, but wwe also depend on ifp staying around for a
> + * while so lock the list, instead of the smaller afdata lock
> + * for the as long as we need either of them.
> + */
s/wwe/we/
s/for the as long as/for as long as/
> + /*
> + * Need both the ifp and its afdata to stick around for
> + * this call.
> + */
> + IFNET_WLOCK();
Make this a real sentence, please: ``We need both...''.
Regards,
Giorgos
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041016120326.GA34124>
