[ovs-git] Open vSwitch: netdev: Fix an use of uninitialized mutex. (master)

dev at openvswitch.org dev at openvswitch.org
Tue Apr 29 15:04:13 UTC 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Open vSwitch".

The branch, master has been updated
       via  aaea735bb6dad1b37941bd2de4b61a58af55bcde (commit)
       via  aeaae11fceb0939001705b7e4024cff37dd94c5c (commit)
      from  60cda7d69b0bfd242045d346f2cd169836a3d78e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit aaea735bb6dad1b37941bd2de4b61a58af55bcde
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=aaea735bb6dad1b37941bd2de4b61a58af55bcde
Author: Alex Wang <alexw at nicira.com>
		
netdev: Fix an use of uninitialized mutex.
		
Commit 05bf6d3c62e1d (ovs-thread: Add checking for mutex and
rwlock initialization.) helps find an use of uninitialized
mutex (netdev_class_mutex) during upgrade.  The assertion
check aborts the ovs.

This commit fixes the issue by adding the proper initialization.

Bug #1239914.
Bug #1240598.
Bug #1240626.

Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


commit aeaae11fceb0939001705b7e4024cff37dd94c5c
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=aeaae11fceb0939001705b7e4024cff37dd94c5c
Author: Alex Wang <alexw at nicira.com>
		
dpif-linux: Fix a bug in creating port.
		
Based on the policy of 'OVS_VPORT_ATTR_UPCALL_PID', if upcall should
not be sent to userspace (i.e. the number of handler threads is zero),
the netlink message for creating vport should be an one-element array of
value 0.  However, dpif_linux_port_add__() fails to obey it and generates
zero-payload netlink message which causes the netlink transaction failing
with ERANGE error.

This is particularly bad when the 'flow-restore-wait' is set during upgrade,
since number of handler threads is not set in dpif-linux module and ovs is
not able to add port in datapath until the 'flow-restore-wait' is disabled.
Connection may lose due to this bug.

This bug was introduced by commit 1579cf677fc (dpif-linux: Implement the
API functions to allow multiple handler threads read upcall.).

This commit fixes the bug by fixing the dpif_linux_port_add__() to generate
the correct netlink message when the number of handler threads is not set.

Bug #1239914.
Bug #1240598.
Bug #1240626.

Reported-by: Gurucharan Shetty <gshetty at nicira.com>
Signed-off-by: Alex Wang <alexw at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


-----------------------------------------------------------------------

Summary of changes:
 lib/dpif-linux.c |    2 +-
 lib/netdev.c     |    1 +
 2 files changed, 2 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list