[ovs-git] Open vSwitch: ofp-print: Fix misaligned data access in ofp_print_error_msg(). (master)

dev at openvswitch.org dev at openvswitch.org
Sat Apr 5 17:58:47 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  dea241f172b64958f6b917bc3971253c5dc010c0 (commit)
       via  5fa008d4618856aa44189cc98f71a7b3c5233652 (commit)
       via  f3f750e5ae470142a64e9c1e69bfbd4e6e91a4e9 (commit)
      from  c70a77673cfc9e70d4e7e1633bdfa461fbd154f3 (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 dea241f172b64958f6b917bc3971253c5dc010c0
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=dea241f172b64958f6b917bc3971253c5dc010c0
Author: Ben Pfaff <blp at nicira.com>
		
ofp-print: Fix misaligned data access in ofp_print_error_msg().
		
The body of an OpenFlow error message often contains an inner OpenFlow
message, and when it does, the inner message starts at an odd multiple of 4
bytes from the beginning of the outer message.  That means that, on RISC
systems, accessing the inner message directly causes a bus error.  This
commit fixes the problem in a way that should make it difficult to recur.

This fixes the failure of tests 643, 645, and 651 on sparc seen here:
https://buildd.debian.org/status/fetch.php?pkg=openvswitch&arch=sparc&ver=2.1.0%2Bgit20140325-1&stamp=1396438624

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


commit 5fa008d4618856aa44189cc98f71a7b3c5233652
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=5fa008d4618856aa44189cc98f71a7b3c5233652
Author: Ben Pfaff <blp at nicira.com>
		
packets: Fix misaligned data accesses for MPLS and SCTP fields.
		
The other 32-bit data fields in protocol headers were already using
ovs_16aligned_be32, but MPLS and SCTP had been overlooked.  This fixes
the failure of test 681 seen here:
https://buildd.debian.org/status/fetch.php?pkg=openvswitch&arch=sparc&ver=2.1.0%2Bgit20140325-1&stamp=1396438624

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


commit f3f750e5ae470142a64e9c1e69bfbd4e6e91a4e9
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=f3f750e5ae470142a64e9c1e69bfbd4e6e91a4e9
Author: Ben Pfaff <blp at nicira.com>
		
dpif-netdev: Unwildcard entire odp_port in dpif_netdev_mask_from_nlattrs().
		
One case in the dpif_netdev_mask_from_nlattrs() function accidentally
wildcarded only a 16-bit subset of the mask's odp_port.  On little-endian
machines this subset was the lower bits, which happened to work out OK,
but on big-endian machines this subset was the upper bits, which doesn't
work and causes a test failure.  (The problem was actually visible in the
test expected results on little-endian machines, but we had not noticed.)

This commit unwildcards the whole field, fixing the problem, and updates
the test expected results to match.

This fixes the failure of test 732 seen here:
https://buildd.debian.org/status/fetch.php?pkg=openvswitch&arch=sparc&ver=2.1.0%2Bgit20140325-1&stamp=1396438624

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>


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

Summary of changes:
 lib/dpif-netdev.c     |   10 ++++++++--
 lib/flow.c            |    5 +++--
 lib/ofp-errors.c      |   11 +++++++----
 lib/ofp-print.c       |    4 +++-
 lib/packets.c         |   12 ++++++------
 lib/packets.h         |    6 +++---
 tests/ofproto-dpif.at |    4 ++--
 7 files changed, 32 insertions(+), 20 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list