diff --git a/SOURCES/openvswitch-3.2.0.patch b/SOURCES/openvswitch-3.2.0.patch index 609c490..84ab969 100644 --- a/SOURCES/openvswitch-3.2.0.patch +++ b/SOURCES/openvswitch-3.2.0.patch @@ -403,6 +403,28 @@ index 77130c6e01..77f44bd765 100644 -sphinx>=1.1,<2.0 +sphinx>=1.1 ovs_sphinx_theme>=1.0,<1.1 +diff --git a/Documentation/topics/dpdk/vhost-user.rst b/Documentation/topics/dpdk/vhost-user.rst +index 3a5f5be988..284b951f79 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/Makefile.am b/Makefile.am index db341504d3..0b7c832469 100644 --- a/Makefile.am @@ -2857,6 +2879,18 @@ index 9730e0eecc..b8f065d1d7 100644 /* nb_thread counters for the overall total as well. */ stats->size = ARRAY_SIZE(hwol_stats) * (nb_thread + 1); stats->counters = xcalloc(stats->size, sizeof *stats->counters); +diff --git a/lib/dpif-netlink-rtnl.c b/lib/dpif-netlink-rtnl.c +index 5788294ae0..f7035333e6 100644 +--- a/lib/dpif-netlink-rtnl.c ++++ b/lib/dpif-netlink-rtnl.c +@@ -566,6 +566,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/fatal-signal.c b/lib/fatal-signal.c index 77f0c87dd4..9531500747 100644 --- a/lib/fatal-signal.c @@ -2873,10 +2907,29 @@ index 77f0c87dd4..9531500747 100644 #ifdef _WIN32 diff --git a/lib/flow.c b/lib/flow.c -index fe226cf0fe..52b3677e8b 100644 +index fe226cf0fe..6d045926c5 100644 --- a/lib/flow.c +++ b/lib/flow.c -@@ -3306,6 +3306,8 @@ packet_expand(struct dp_packet *p, const struct flow *flow, size_t size) +@@ -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 || +@@ -1123,7 +1124,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. */ +@@ -3306,6 +3307,8 @@ packet_expand(struct dp_packet *p, const struct flow *flow, size_t size) * (This is useful only for testing, obviously, and the packet isn't really * valid. Lots of fields are just zeroed.) * @@ -2885,7 +2938,7 @@ index fe226cf0fe..52b3677e8b 100644 * For packets whose protocols can encapsulate arbitrary L7 payloads, 'l7' and * 'l7_len' determine that payload: * -@@ -3318,7 +3320,7 @@ packet_expand(struct dp_packet *p, const struct flow *flow, size_t size) +@@ -3318,7 +3321,7 @@ packet_expand(struct dp_packet *p, const struct flow *flow, size_t size) * from 'l7'. */ void flow_compose(struct dp_packet *p, const struct flow *flow, @@ -2894,7 +2947,7 @@ index fe226cf0fe..52b3677e8b 100644 { /* Add code to this function (or its callees) for emitting new fields or * protocols. (This isn't essential, so it can be skipped for initial -@@ -3370,7 +3372,18 @@ flow_compose(struct dp_packet *p, const struct flow *flow, +@@ -3370,7 +3373,18 @@ flow_compose(struct dp_packet *p, const struct flow *flow, /* Checksum has already been zeroed by put_zeros call. */ ip->ip_csum = csum(ip, sizeof *ip); @@ -2914,7 +2967,7 @@ index fe226cf0fe..52b3677e8b 100644 pseudo_hdr_csum = packet_csum_pseudoheader(ip); flow_compose_l4_csum(p, flow, pseudo_hdr_csum); } else if (flow->dl_type == htons(ETH_TYPE_IPV6)) { -@@ -3413,6 +3426,24 @@ flow_compose(struct dp_packet *p, const struct flow *flow, +@@ -3413,6 +3427,24 @@ flow_compose(struct dp_packet *p, const struct flow *flow, arp->ar_sha = flow->arp_sha; arp->ar_tha = flow->arp_tha; } @@ -3174,6 +3227,19 @@ index c8ce5362e1..3db5f76e28 100644 } VLOG_DBG("%s: %s %s%s", rpc->name, title, jsonrpc_msg_type_to_string(msg->type), ds_cstr(&s)); +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 @@ -4421,6 +4487,19 @@ index 06707ffa46..fdbcf4b7cb 100644 ovs_be16 tp_dst; uint8_t tos; uint8_t ttl; +diff --git a/lib/util.c b/lib/util.c +index 3fb3a4b40f..5438cd04d5 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.2.spec b/SPECS/openvswitch3.2.spec index b6186b1..34a13d3 100644 --- a/SPECS/openvswitch3.2.spec +++ b/SPECS/openvswitch3.2.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 3.2.0 -Release: 92%{?dist} +Release: 93%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -761,6 +761,16 @@ exit 0 %endif %changelog +* Fri Jul 19 2024 Open vSwitch CI - 3.2.0-93 +- Merging upstream branch-3.2 [RH git: 4bf8d038c8] + Commit list: + ad644eed98 Documentation: Update QEMU documentation URLs. + acd120d524 match: Fix false-positive snprintf size warning. + 2288deb3ad util: Add non-NULL format assertion to xvasprintf. + 9c8286745c flow: Fix unaligned access to the ND target in miniflow_extract. + 6fd78d522c dpif-netlink-rtnl: Fix netdev leak in out-of-tree tunnels probe. + + * Wed Jul 17 2024 Open vSwitch CI - 3.2.0-92 - Merging upstream branch-3.2 [RH git: 3544c84760] Commit list: