Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Aug 2009 22:56:10 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Russell Cattelan <cattelan@thebarn.com>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: small fix to netatalk
Message-ID:  <alpine.BSF.2.00.0908022235050.1507@fledge.watson.org>
In-Reply-To: <4A7320E1.4050308@thebarn.com>
References:  <4A7320E1.4050308@thebarn.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Fri, 31 Jul 2009, Russell Cattelan wrote:

> starting up netatalk would panic the system with a lock not locked panic.
>
> It appears somebody reversed the 2 lock statements in netatalk/at_control.c

Indeed -- almost certainly me, although there must be some differences in our 
netatalk setups as my box didn't panic in testing :-).  I'll give it a more 
thorough spin locally and request RE permission to merge the patch tomorrow.

Thanks!

Robert N M Watson
Computer Laboratory
University of Cambridge


>
> diff --git a/sys/netatalk/at_control.c b/sys/netatalk/at_control.c
> index 5193d66..b2d8422 100644
> - --- a/sys/netatalk/at_control.c
> +++ b/sys/netatalk/at_control.c
> @@ -276,7 +276,7 @@ at_control(struct socket *so, u_long cmd, caddr_t
> data, struct ifnet *ifp,
>       * If the request is specifying phase 1, then
>       * only look at a phase one address
>       */
> - -     AT_IFADDR_RUNLOCK();
> +     AT_IFADDR_RLOCK();
>      for (oaa = aa; aa; aa = TAILQ_NEXT(aa, aa_link)) {
>        if (aa->aa_ifp == ifp &&
>            (aa->aa_flags & AFA_PHASE2) == 0)
> @@ -286,7 +286,7 @@ at_control(struct socket *so, u_long cmd, caddr_t
> data, struct ifnet *ifp,
>        ifa_free(&oaa->aa_ifa);
>      if (aa != NULL && oaa != aa)
>        ifa_ref(&aa->aa_ifa);
> - -     AT_IFADDR_RLOCK();
> +     AT_IFADDR_RUNLOCK();
>    } else {
>      struct at_ifaddr *oaa;
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.7 (Darwin)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iD8DBQFKcyDhNRmM+OaGhBgRAnDKAJ0Ys2GMVJphbq6Qdgq6cvj85iKShwCfQsAE
> P95+NxdFPwEjB/r0yQbTris=
> =K0G2
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0908022235050.1507>