diff --git a/SOURCES/openvswitch-2.17.0.patch b/SOURCES/openvswitch-2.17.0.patch index 4ec8902..093a581 100644 --- a/SOURCES/openvswitch-2.17.0.patch +++ b/SOURCES/openvswitch-2.17.0.patch @@ -99136,10 +99136,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 dd523c889b..98c38a7bd9 100644 +index dd523c889b..5b00cda79c 100644 --- a/lib/flow.c +++ b/lib/flow.c -@@ -1950,7 +1950,7 @@ flow_wildcards_init_for_packet(struct flow_wildcards *wc, +@@ -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 || +@@ -1060,7 +1061,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. */ +@@ -1950,7 +1951,7 @@ flow_wildcards_init_for_packet(struct flow_wildcards *wc, } /* IPv4 or IPv6. */ @@ -99148,7 +99167,7 @@ index dd523c889b..98c38a7bd9 100644 WC_MASK_FIELD(wc, nw_tos); WC_MASK_FIELD(wc, nw_ttl); WC_MASK_FIELD(wc, nw_proto); -@@ -3345,6 +3345,24 @@ flow_compose(struct dp_packet *p, const struct flow *flow, +@@ -3345,6 +3346,24 @@ flow_compose(struct dp_packet *p, const struct flow *flow, arp->ar_sha = flow->arp_sha; arp->ar_tha = flow->arp_tha; } @@ -99957,9 +99976,18 @@ index 3fcd7d9b77..5932e2709d 100644 hmap_shrink(&ml->table); } diff --git a/lib/match.c b/lib/match.c -index 2ad03e044e..0b9dc4278c 100644 +index 2ad03e044e..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; @@ -1737,7 +1737,7 @@ match_format(const struct match *match, format_be32_masked(s, "mpls_lse1", f->mpls_lse[1], wc->masks.mpls_lse[1]); format_be32_masked(s, "mpls_lse2", f->mpls_lse[2], wc->masks.mpls_lse[2]); @@ -106702,6 +106730,19 @@ index 69aed6722c..103357ee91 100644 kill_connection(conn); } +diff --git a/lib/util.c b/lib/util.c +index 1195c79821..4c9d18c4e5 100644 +--- a/lib/util.c ++++ b/lib/util.c +@@ -221,6 +221,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 7415e6291f..e9603432d2 100644 --- a/lib/vconn.c diff --git a/SPECS/openvswitch2.17.spec b/SPECS/openvswitch2.17.spec index fdc0a2a..2c9d98f 100644 --- a/SPECS/openvswitch2.17.spec +++ b/SPECS/openvswitch2.17.spec @@ -63,7 +63,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 2.17.0 -Release: 180%{?dist} +Release: 181%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -749,6 +749,14 @@ exit 0 %endif %changelog +* Thu Jul 18 2024 Open vSwitch CI - 2.17.0-181 +- Merging upstream branch-2.17 [RH git: 9446036a68] + Commit list: + 7b58b6f93d match: Fix false-positive snprintf size warning. + d548506ff1 util: Add non-NULL format assertion to xvasprintf. + 49e28efb1e flow: Fix unaligned access to the ND target in miniflow_extract. + + * Wed Jul 17 2024 Open vSwitch CI - 2.17.0-180 - Merging upstream branch-2.17 [RH git: e29ea78333] Commit list: