[ovs-git] Open vSwitch: bond: Fix segfault sending learning packets with LACP disabled. (branch-1.7)

dev at openvswitch.org dev at openvswitch.org
Thu Nov 29 21:13:18 UTC 2012


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, branch-1.7 has been updated
       via  6ed32382fd9807deb5b090cf4a2c187c1c63b937 (commit)
      from  d300e26d1d4dbaccc9527ca363bec5b81d3578c5 (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 6ed32382fd9807deb5b090cf4a2c187c1c63b937
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=6ed32382fd9807deb5b090cf4a2c187c1c63b937
Author: Ben Pfaff <blp at nicira.com>
		
bond: Fix segfault sending learning packets with LACP disabled.
		
It is essentially an invalid configuration to disable LACP but request TCP
balancing: in this configuration, the bond drops all packets.  But
may_send_learning_packets() would still indicate that learning packets
should be sent, so bond_compose_learning_packet() would try to choose an
output slave for those packets, which would be NULL (because all packets
are dropped), which would cause a segfault upon dereference.

This commit fixes the problem by making may_send_learning_packets() no
longer indicate that learning packets should be sent.

I tested this issue by modifying bond_should_send_learning_packets() to
always return true if may_send_learning_packets() returns true, and then
introducing the invalid configuration described above.  Without this comit,
ovs-vswitchd segfaults quickly; with this commit, it does not.

Bug #14090.
Reported-by: Kiran Shanbhog <kiran at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


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

Summary of changes:
 lib/bond.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list