[ovs-git] Open vSwitch: ovs-vswitchd: Release most memory on normal exit. (master)

dev at openvswitch.org dev at openvswitch.org
Mon Dec 13 22:30:04 UTC 2010


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  ee45ad81ab7e9ff6034352b6743985e28fedd649 (commit)
       via  d2bb2799e1b7cf2177140cf4ca8a60312c87625a (commit)
       via  83c19ab15aa7b2d63632ac9694541759bc8d2351 (commit)
       via  0c62a7ad88bb1f2eacfa225b9812dc10ba7b6eb2 (commit)
       via  c47cd5f01377c54251fbf093f8fb390f631a8264 (commit)
       via  cdfcd49659a8ec3962a0de82ab306065c547481a (commit)
      from  d3c5445150eff927f4022008300436ca3dad3474 (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 ee45ad81ab7e9ff6034352b6743985e28fedd649
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=ee45ad81ab7e9ff6034352b6743985e28fedd649
Author: Ben Pfaff <blp at nicira.com>
		
ovs-vswitchd: Release most memory on normal exit.
		
This makes "valgrind --leak-check=full --show-reachable=yes" output much
easier to read.


commit d2bb2799e1b7cf2177140cf4ca8a60312c87625a
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=d2bb2799e1b7cf2177140cf4ca8a60312c87625a
Author: Ben Pfaff <blp at nicira.com>
		
netdev-linux: Fix pairing of rtnetlink register and unregister calls.
		
netdev_linux_create() called rtnetlink_notifier_register() for both system
and internal devices, but netdev_linux_destroy() only did the reverse
accounting for system devices.  This fixes the pairing.

This isn't really much of a bug, since it would only cause the notifier to
be active unnecessarily (not to be removed even though it was needed).  At
most it was a missed opportunity for optimization, but I don't think that
optimization would ever happen anyway.

Found with valgrind --leak-check=full --show-reachable=yes.


commit 83c19ab15aa7b2d63632ac9694541759bc8d2351
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=83c19ab15aa7b2d63632ac9694541759bc8d2351
Author: Ben Pfaff <blp at nicira.com>
		
vswitchd: Delete DP_MAX_PORTS.
		
This is no longer used.


commit 0c62a7ad88bb1f2eacfa225b9812dc10ba7b6eb2
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=0c62a7ad88bb1f2eacfa225b9812dc10ba7b6eb2
Author: Ben Pfaff <blp at nicira.com>
		
vswitchd: Fix dependency on DP_MAX_PORTS for allocating "struct dst"s.
		
Until now, compose_actions() has allocated enough "struct dst"s on the
stack for a worst-case flow, one that floods packets with the maximum
number of ports and mirrors.  When the code was written this was correct.
However, now the number of ports is no longer known at compile time.  The
maximum number, 65535, would require (65536 * (32 + 1) * 4) == 8 MB of
stack space, which is a lot.  So this commit fixes the problem a different
way, by allocating the "struct dst"s dynamically when necessary.

This is a bug fix, but not a very serious one, because it could only
become a buffer overflow with a large number of mirrors.


commit c47cd5f01377c54251fbf093f8fb390f631a8264
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=c47cd5f01377c54251fbf093f8fb390f631a8264
Author: Ben Pfaff <blp at nicira.com>
		
bridge: Eliminate bond_rebalance_port() dependency on DP_MAX_PORTS.
		
There's no reason to allocate the bals[] array on the stack here, since
this is not on any fast-path.

As an alternative, we could limit the number of interfaces on a single
bond to some reasonable maximum, such as 8 or 32, but this commit's change
is simpler.


commit cdfcd49659a8ec3962a0de82ab306065c547481a
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=cdfcd49659a8ec3962a0de82ab306065c547481a
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Fix use-after-free error in facet_revalidate().
		
Found by valgrind.


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

Summary of changes:
 lib/netdev-linux.c      |    8 ++-
 ofproto/ofproto.c       |    4 +-
 vswitchd/bridge.c       |  163 ++++++++++++++++++++++++++++++++---------------
 vswitchd/bridge.h       |    7 +--
 vswitchd/ovs-vswitchd.c |    2 +
 5 files changed, 123 insertions(+), 61 deletions(-)


hooks/post-receive
-- 
Open vSwitch




More information about the git mailing list