diff --git a/SOURCES/openvswitch-3.4.0.patch b/SOURCES/openvswitch-3.4.0.patch index 91dd0da..8f486c2 100644 --- a/SOURCES/openvswitch-3.4.0.patch +++ b/SOURCES/openvswitch-3.4.0.patch @@ -50,7 +50,7 @@ index 02cef6e451..7cced0f226 100644 free(response); netdev_close(netdev); diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c -index c316238cd5..765a07e355 100644 +index c316238cd5..0cd0850a31 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -1061,8 +1061,7 @@ netdev_linux_construct_tap(struct netdev *netdev_) @@ -79,7 +79,17 @@ index c316238cd5..765a07e355 100644 NETDEV_TX_OFFLOAD_UDP_CKSUM}, {"tx-checksum-sctp", NETDEV_TX_OFFLOAD_SCTP_CKSUM}, {"tx-tcp-segmentation", NETDEV_TX_OFFLOAD_TCP_TSO}, -@@ -7203,13 +7200,6 @@ netdev_linux_prepend_vnet_hdr(struct dp_packet *b, int mtu) +@@ -6738,7 +6735,8 @@ get_stats_via_netlink(const struct netdev *netdev_, struct netdev_stats *stats) + struct rtnl_link_stats64 aligned_lstats; + + if (!IS_PTR_ALIGNED(lstats)) { +- memcpy(&aligned_lstats, lstats, sizeof aligned_lstats); ++ memcpy(&aligned_lstats, (void *) lstats, ++ sizeof aligned_lstats); + lstats = &aligned_lstats; + } + netdev_stats_from_rtnl_link_stats64(stats, lstats); +@@ -7203,13 +7201,6 @@ netdev_linux_prepend_vnet_hdr(struct dp_packet *b, int mtu) /* The packet has good L4 checksum. No need to validate again. */ vnet->csum_start = vnet->csum_offset = (OVS_FORCE __virtio16) 0; vnet->flags = VIRTIO_NET_HDR_F_DATA_VALID; @@ -93,6 +103,40 @@ index c316238cd5..765a07e355 100644 } else if (dp_packet_hwol_tx_l4_checksum(b)) { /* The csum calculation is offloaded. */ if (dp_packet_hwol_l4_is_tcp(b)) { +diff --git a/lib/route-table.c b/lib/route-table.c +index f1fe32714e..c6cb21394a 100644 +--- a/lib/route-table.c ++++ b/lib/route-table.c +@@ -85,7 +85,7 @@ static bool route_table_valid = false; + + static void route_table_reset(void); + static void route_table_handle_msg(const struct route_table_msg *); +-static int route_table_parse(struct ofpbuf *, struct route_table_msg *); ++static int route_table_parse(struct ofpbuf *, void *change); + static void route_table_change(const struct route_table_msg *, void *); + static void route_map_clear(void); + +@@ -110,8 +110,7 @@ route_table_init(void) + ovs_assert(!route6_notifier); + + ovs_router_init(); +- nln = nln_create(NETLINK_ROUTE, (nln_parse_func *) route_table_parse, +- &rtmsg); ++ nln = nln_create(NETLINK_ROUTE, route_table_parse, &rtmsg); + + route_notifier = + nln_notifier_create(nln, RTNLGRP_IPV4_ROUTE, +@@ -223,8 +222,9 @@ route_table_reset(void) + /* Return RTNLGRP_IPV4_ROUTE or RTNLGRP_IPV6_ROUTE on success, 0 on parse + * error. */ + static int +-route_table_parse(struct ofpbuf *buf, struct route_table_msg *change) ++route_table_parse(struct ofpbuf *buf, void *change_) + { ++ struct route_table_msg *change = change_; + bool parsed, ipv4 = false; + + static const struct nl_policy policy[] = { diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c index 850597b3a4..7506ab5371 100644 --- a/ofproto/ofproto-dpif-xlate.c diff --git a/SPECS/openvswitch3.4.spec b/SPECS/openvswitch3.4.spec index b825684..51e8fa5 100644 --- a/SPECS/openvswitch3.4.spec +++ b/SPECS/openvswitch3.4.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 3.4.0 -Release: 0.5%{?dist} +Release: 0.6%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -770,6 +770,13 @@ exit 0 %endif %changelog +* Wed Aug 14 2024 Open vSwitch CI - 3.4.0-6 +- Merging upstream branch-3.4 [RH git: c03ad592f4] + Commit list: + 6b6823a576 netdev-linux: Fix unaligned access to rpl_rtnl_link_stats64. + d49f51a05d route-table: Fix another UBsan warning about pointer type. + + * Wed Aug 14 2024 Open vSwitch CI - 3.4.0-5 - Merging upstream branch-3.4 [RH git: e7581779a5] Commit list: