Re: small fix to netatalk

From: Robert Watson <rwatson_at_FreeBSD.org>
Date: Sun, 2 Aug 2009 22:56:10 +0100 (BST)
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
> _at__at_ -276,7 +276,7 _at__at_ 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)
> _at__at_ -286,7 +286,7 _at__at_ 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_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
>
Received on Sun Aug 02 2009 - 19:56:10 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:53 UTC