From e2f6df56642074ca04ddac87578f01b21be684c3 Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: Jun 21 2024 19:25:23 +0000 Subject: Import openvswitch3.3-3.3.0-32 from Fast DataPath --- diff --git a/SOURCES/openvswitch-3.3.0.patch b/SOURCES/openvswitch-3.3.0.patch index c880f16..0d7710d 100644 --- a/SOURCES/openvswitch-3.3.0.patch +++ b/SOURCES/openvswitch-3.3.0.patch @@ -1552,6 +1552,52 @@ index 9306c9b4d4..5e4f34cf74 100644 segs += segments_left; while (ovs_scan_len(s, &n, IPV6_SCAN_FMT, seg_s) +diff --git a/lib/ofp-prop.c b/lib/ofp-prop.c +index 0a685750c1..0e54543bdd 100644 +--- a/lib/ofp-prop.c ++++ b/lib/ofp-prop.c +@@ -21,6 +21,7 @@ + #include "openvswitch/ofp-errors.h" + #include "openvswitch/ofp-prop.h" + #include "openvswitch/vlog.h" ++#include "unaligned.h" + #include "util.h" + #include "uuid.h" + +@@ -190,11 +191,12 @@ ofpprop_parse_be64(const struct ofpbuf *property, ovs_be64 *value) + enum ofperr + ofpprop_parse_be128(const struct ofpbuf *property, ovs_be128 *value) + { +- ovs_be128 *p = property->msg; ++ ovs_32aligned_be128 *p = property->msg; ++ + if (ofpbuf_msgsize(property) != sizeof *p) { + return OFPERR_OFPBPC_BAD_LEN; + } +- *value = *p; ++ *value = get_32aligned_be128(p); + return 0; + } + +@@ -270,12 +272,13 @@ ofpprop_parse_u64(const struct ofpbuf *property, uint64_t *value) + enum ofperr + ofpprop_parse_u128(const struct ofpbuf *property, ovs_u128 *value) + { +- ovs_be128 *p = property->msg; +- if (ofpbuf_msgsize(property) != sizeof *p) { +- return OFPERR_OFPBPC_BAD_LEN; ++ enum ofperr error = ofpprop_parse_be128(property, (ovs_be128 *) value); ++ ++ if (!error) { ++ *value = ntoh128(*(ovs_be128 *) value); + } +- *value = ntoh128(*p); +- return 0; ++ ++ return error; + } + + /* Attempts to parse 'property' as a property containing a UUID. If diff --git a/lib/ofpbuf.c b/lib/ofpbuf.c index d3d42b4148..232ebeb97b 100644 --- a/lib/ofpbuf.c diff --git a/SPECS/openvswitch3.3.spec b/SPECS/openvswitch3.3.spec index f841943..0195bab 100644 --- a/SPECS/openvswitch3.3.spec +++ b/SPECS/openvswitch3.3.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 3.3.0 -Release: 31%{?dist} +Release: 32%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -767,6 +767,12 @@ exit 0 %endif %changelog +* Fri Jun 21 2024 Open vSwitch CI - 3.3.0-32 +- Merging upstream branch-3.3 [RH git: ecd756e0cf] + Commit list: + dd1aea7f8b ofp-prop: Fix unaligned 128 bit access. + + * Wed Jun 19 2024 Open vSwitch CI - 3.3.0-31 - Merging upstream branch-3.3 [RH git: 92e783ebee] Commit list: