Thanks for checking!
However, maybe it should also use a recursive mutex; couldn't it have
the same problem described in the comment in stp.c that causes STP to
use a recursive mutex?
/* We need a recursive mutex because stp_send_bpdu() could loop back
* into the stp module through a patch port. This happens
* intentionally as part of the unit tests. Ideally we'd ditch
* the call back function, but for now this is what we have. */
On Fri, May 20, 2016 at 10:25:50AM -0700, Jarno Rajahalme wrote:
> I checked to see if lib/rstp.c has the same issue, but it has a static
> initializer for its mutex, so I guess not.
>
> Jarno
>
> > On May 20, 2016, at 10:06 AM, Ben Pfaff <[email protected]> wrote:
> >
> > On Fri, May 20, 2016 at 05:30:25PM +0200, Quentin Monnet wrote:
> >> Hi Ben,
> >>
> >> 2016-05-20 (07:49 -0700) ~ Ben Pfaff
> >>> The stp/tcn command, which locks the mutex, was being registered without
> >>> initializing the mutex, so calling stp/tcn before STP was enabled on the
> >>> switch caused a crash. This commit fixes the bug by initializing the
> >>> mutex
> >>> at the same time we register the stp/tcn command.
> >>>
> >>> Reported-by: Ding Zhi <[email protected]>
> >>> Reported-at: http://openvswitch.org/pipermail/dev/2016-May/071381.html
> >>> Signed-off-by: Ben Pfaff <[email protected]>
> >>> ---
> >>> AUTHORS | 1 +
> >>> lib/stp.c | 27 +++++++++++++++------------
> >>> 2 files changed, 16 insertions(+), 12 deletions(-)
> >>>
> >>> diff --git a/AUTHORS b/AUTHORS
> >>> index 39ac60b..e39c2f0 100644
> >>> --- a/AUTHORS
> >>> +++ b/AUTHORS
> >>> @@ -300,6 +300,7 @@ David Palma [email protected]
> >>> Derek Cormier [email protected]
> >>> Dhaval Badiani [email protected]
> >>> DK Moon [email protected]
> >>> +Dong Zhi [email protected]
> >>
> >> Please note that there is a typo here in the name of the author (“Ding”).
> >
> > Oops. Fixed.
> >
> >>> Edwin Chiu [email protected] <mailto:[email protected]>
> >>> Eivind Bulie Haanaes
> >>> Enas Ahmad [email protected]
> >>> <mailto:[email protected]>
> >>> diff --git a/lib/stp.c b/lib/stp.c
> >>> index 0f92ed1..ecef012 100644
> >>> […]
> >>
> >> This patch does address the issue of my previous email (
> >> http://openvswitch.org/pipermail/dev/2016-May/071381.html
> >> <http://openvswitch.org/pipermail/dev/2016-May/071381.html> ). Thanks!
> >>
> >> Test-by: Quentin Monnet <[email protected]
> >> <mailto:[email protected]>>
> >
> > Thanks, I applied this to master, branch-2.5, branch-2.4, and
> > branch-2.3.
> > _______________________________________________
> > dev mailing list
> > [email protected] <mailto:[email protected]>
> > http://openvswitch.org/mailman/listinfo/dev
> > <http://openvswitch.org/mailman/listinfo/dev>
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev