diff --git a/SOURCES/openvswitch-3.1.0.patch b/SOURCES/openvswitch-3.1.0.patch index 349a4ff..db6ba2c 100644 --- a/SOURCES/openvswitch-3.1.0.patch +++ b/SOURCES/openvswitch-3.1.0.patch @@ -3593,10 +3593,29 @@ index bbb31ef275..7054f8e745 100644 struct hook *h = &hooks[i]; if (h->cancel_cb) { diff --git a/lib/flow.c b/lib/flow.c -index c3a3aa3ce4..f0fea83c55 100644 +index c3a3aa3ce4..9d95d7a6e2 100644 --- a/lib/flow.c +++ b/lib/flow.c -@@ -3355,6 +3355,24 @@ flow_compose(struct dp_packet *p, const struct flow *flow, +@@ -408,7 +408,8 @@ parse_ethertype(const void **datap, size_t *sizep) + static inline bool + parse_icmpv6(const void **datap, size_t *sizep, + const struct icmp6_data_header *icmp6, +- ovs_be32 *rso_flags, const struct in6_addr **nd_target, ++ ovs_be32 *rso_flags, ++ const union ovs_16aligned_in6_addr **nd_target, + struct eth_addr arp_buf[2], uint8_t *opt_type) + { + if (icmp6->icmp6_base.icmp6_code != 0 || +@@ -1070,7 +1071,7 @@ miniflow_extract(struct dp_packet *packet, struct miniflow *dst) + } + } else if (OVS_LIKELY(nw_proto == IPPROTO_ICMPV6)) { + if (OVS_LIKELY(size >= sizeof(struct icmp6_data_header))) { +- const struct in6_addr *nd_target; ++ const union ovs_16aligned_in6_addr *nd_target; + struct eth_addr arp_buf[2]; + /* This will populate whether we received Option 1 + * or Option 2. */ +@@ -3355,6 +3356,24 @@ flow_compose(struct dp_packet *p, const struct flow *flow, arp->ar_sha = flow->arp_sha; arp->ar_tha = flow->arp_tha; } @@ -3855,6 +3874,19 @@ index 8102475cae..cdf42935c1 100644 po.buffer_id = buffer_id; if (buffer_id == UINT32_MAX) { po.packet = dp_packet_data(&pkt); +diff --git a/lib/match.c b/lib/match.c +index 0b9dc4278c..9b7e06e0c7 100644 +--- a/lib/match.c ++++ b/lib/match.c +@@ -1618,7 +1618,7 @@ match_format(const struct match *match, + ds_put_char(s, ','); + } + for (i = 0; i < FLOW_MAX_VLAN_HEADERS; i++) { +- char str_i[8]; ++ char str_i[12]; + + if (!wc->masks.vlans[i].tci) { + break; diff --git a/lib/mcast-snooping.c b/lib/mcast-snooping.c index 029ca28558..43805ae4d5 100644 --- a/lib/mcast-snooping.c @@ -6710,6 +6742,19 @@ index cdd3b4f60e..44f34dfc80 100644 ovs_be16 tp_dst; uint8_t tos; uint8_t ttl; +diff --git a/lib/util.c b/lib/util.c +index 96a71550d9..d0a61ddfab 100644 +--- a/lib/util.c ++++ b/lib/util.c +@@ -224,6 +224,8 @@ xvasprintf(const char *format, va_list args) + size_t needed; + char *s; + ++ ovs_assert(format); ++ + va_copy(args2, args); + needed = vsnprintf(NULL, 0, format, args); + diff --git a/lib/vconn.c b/lib/vconn.c index b556762277..e9603432d2 100644 --- a/lib/vconn.c diff --git a/SPECS/openvswitch3.1.spec b/SPECS/openvswitch3.1.spec index dbf93ef..b87f991 100644 --- a/SPECS/openvswitch3.1.spec +++ b/SPECS/openvswitch3.1.spec @@ -63,7 +63,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 3.1.0 -Release: 132%{?dist} +Release: 133%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -757,6 +757,14 @@ exit 0 %endif %changelog +* Wed Jul 17 2024 Open vSwitch CI - 3.1.0-133 +- Merging upstream branch-3.1 [RH git: a857b9cd39] + Commit list: + 4ebbe54366 match: Fix false-positive snprintf size warning. + 35e1fd8e8f util: Add non-NULL format assertion to xvasprintf. + 8a09ab4a7e flow: Fix unaligned access to the ND target in miniflow_extract. + + * Wed Jul 17 2024 Open vSwitch CI - 3.1.0-132 - Merging upstream branch-3.1 [RH git: 62cd6967dd] Commit list: