Date: Tue, 25 Jul 2017 14:41:50 +0000 (UTC) From: Sean Bruno <sbruno@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321477 - head/sys/net Message-ID: <201707251441.v6PEfocM030334@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sbruno Date: Tue Jul 25 14:41:50 2017 New Revision: 321477 URL: https://svnweb.freebsd.org/changeset/base/321477 Log: Don't hold the RM lock during lagg_proto_addport() to avoid an LOR. Submitted by: Kevin Bowling <kevin.bowling@kev009.com> Reviewed by: mav MFC after: 1 week Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D11711 Modified: head/sys/net/if_lagg.c Modified: head/sys/net/if_lagg.c ============================================================================== --- head/sys/net/if_lagg.c Tue Jul 25 14:38:30 2017 (r321476) +++ head/sys/net/if_lagg.c Tue Jul 25 14:41:50 2017 (r321477) @@ -738,14 +738,15 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet * lagg_setmulti(lp); + LAGG_WUNLOCK(sc); + if ((error = lagg_proto_addport(sc, lp)) != 0) { /* Remove the port, without calling pr_delport. */ + LAGG_WLOCK(sc); lagg_port_destroy(lp, 0); LAGG_UNLOCK_ASSERT(sc); return (error); } - - LAGG_WUNLOCK(sc); /* Update lagg capabilities */ lagg_capabilities(sc);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201707251441.v6PEfocM030334>