diff options
author | rwatson <rwatson@FreeBSD.org> | 2009-08-12 10:44:13 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2009-08-12 10:44:13 +0000 |
commit | 5f7fe8175c9b351c449e1f4e271b3192fc4218ef (patch) | |
tree | b99fa6afd14d702c5373cf00133f2e66dae534bf /sys/netatalk | |
parent | 38bdb50cfab583eeb23a8c214e9b6cf321363ace (diff) | |
download | FreeBSD-src-5f7fe8175c9b351c449e1f4e271b3192fc4218ef.zip FreeBSD-src-5f7fe8175c9b351c449e1f4e271b3192fc4218ef.tar.gz |
Reverse misordered unlock and lock in at_control for netatalk phase I
addresses.
Submitted by: Russell Cattelan <cattelan at thebarn.com>
Approved by: re (kib)
Diffstat (limited to 'sys/netatalk')
-rw-r--r-- | sys/netatalk/at_control.c | 4 |
1 files changed, 2 insertions, 2 deletions
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; |