diff --git a/SOURCES/openvswitch-2.17.0.patch b/SOURCES/openvswitch-2.17.0.patch index 4cc3d10..ee9111f 100644 --- a/SOURCES/openvswitch-2.17.0.patch +++ b/SOURCES/openvswitch-2.17.0.patch @@ -445,6 +445,28 @@ index 937f4c40e5..90c8691e32 100644 - Configure the VF MAC address:: +diff --git a/Documentation/topics/dpdk/vhost-user.rst b/Documentation/topics/dpdk/vhost-user.rst +index 97e66a99ed..45c95532f1 100644 +--- a/Documentation/topics/dpdk/vhost-user.rst ++++ b/Documentation/topics/dpdk/vhost-user.rst +@@ -312,7 +312,7 @@ predictable migration time. Mostly used as a second phase after the normal + + More information can be found in QEMU `docs`_. + +-.. _`docs`: https://git.qemu.org/?p=qemu.git;a=blob;f=docs/devel/migration.rst ++.. _`docs`: https://www.qemu.org/docs/master/devel/migration/postcopy.html + + Post-copy support may be enabled via a global config value + ``vhost-postcopy-support``. Setting this to ``true`` enables Post-copy support +@@ -485,7 +485,7 @@ Sample XML + + + +-.. _QEMU documentation: http://git.qemu-project.org/?p=qemu.git;a=blob;f=docs/specs/vhost-user.txt;h=7890d7169;hb=HEAD ++.. _QEMU documentation: https://www.qemu.org/docs/master/interop/vhost-user.html + + Jumbo Frames + ------------ diff --git a/MAINTAINERS.rst b/MAINTAINERS.rst index 27be4aa412..1dc406170f 100644 --- a/MAINTAINERS.rst @@ -98574,6 +98596,18 @@ index 9f35713ef5..6ef23ed5c3 100644 dpif_netdev_init, dpif_netdev_enumerate, dpif_netdev_port_open_type, +diff --git a/lib/dpif-netlink-rtnl.c b/lib/dpif-netlink-rtnl.c +index 4fc42daed2..4090efcd85 100644 +--- a/lib/dpif-netlink-rtnl.c ++++ b/lib/dpif-netlink-rtnl.c +@@ -561,6 +561,7 @@ dpif_netlink_rtnl_probe_oot_tunnels(void) + + tnl_cfg = netdev_get_tunnel_config(netdev); + if (!tnl_cfg) { ++ netdev_close(netdev); + return true; + } + diff --git a/lib/dpif-netlink.c b/lib/dpif-netlink.c index 71e35ccdda..6f2c7bc902 100644 --- a/lib/dpif-netlink.c @@ -99124,10 +99158,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. */ @@ -99136,7 +99189,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; } @@ -99945,9 +99998,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]); @@ -106690,6 +106752,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 3d3b9cc..f3862f6 100644 --- a/SPECS/openvswitch2.17.spec +++ b/SPECS/openvswitch2.17.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 2.17.0 -Release: 161%{?dist} +Release: 162%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -751,6 +751,16 @@ exit 0 %endif %changelog +* Fri Jul 19 2024 Open vSwitch CI - 2.17.0-162 +- Merging upstream branch-2.17 [RH git: 438cef1ebb] + Commit list: + a241f77650 Documentation: Update QEMU documentation URLs. + 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. + f3d5ce5fad dpif-netlink-rtnl: Fix netdev leak in out-of-tree tunnels probe. + + * Wed Jul 17 2024 Open vSwitch CI - 2.17.0-161 - Merging upstream branch-2.17 [RH git: 5a72905640] Commit list: