diff --git a/SOURCES/openvswitch-3.1.0.patch b/SOURCES/openvswitch-3.1.0.patch index eb8a3d5..8f4d15d 100644 --- a/SOURCES/openvswitch-3.1.0.patch +++ b/SOURCES/openvswitch-3.1.0.patch @@ -4495,7 +4495,7 @@ index 72cb954711..1c61535068 100644 } else { unixctl_command_reply_error(conn, error); diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c -index 65bdd51dba..94b99a7be5 100644 +index 65bdd51dba..4eed2eb43a 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -2712,8 +2712,16 @@ tc_add_matchall_policer(struct netdev *netdev, uint32_t kbits_rate, @@ -4579,6 +4579,16 @@ index 65bdd51dba..94b99a7be5 100644 *handlep = tc->tcm_handle; } +@@ -6481,7 +6496,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); diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c index b89dfdd52a..6c90946388 100644 --- a/lib/netdev-native-tnl.c @@ -6410,7 +6420,7 @@ index 8626aac8d5..1fcc7b0920 100644 void packet_set_udp_port(struct dp_packet *, ovs_be16 src, ovs_be16 dst); void packet_set_sctp_port(struct dp_packet *, ovs_be16 src, ovs_be16 dst); diff --git a/lib/route-table.c b/lib/route-table.c -index ac82cf262f..6df7237e10 100644 +index ac82cf262f..e8f0623fa5 100644 --- a/lib/route-table.c +++ b/lib/route-table.c @@ -26,6 +26,7 @@ @@ -6430,16 +6440,29 @@ index ac82cf262f..6df7237e10 100644 struct route_data { /* Copied from struct rtmsg. */ unsigned char rtm_dst_len; -@@ -79,7 +82,7 @@ static struct nln_notifier *name_notifier = NULL; +@@ -79,9 +82,9 @@ static struct nln_notifier *name_notifier = NULL; static bool route_table_valid = false; -static int route_table_reset(void); +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 *, struct route_table_msg *); ++static int route_table_parse(struct ofpbuf *, void *change); static void route_table_change(const struct route_table_msg *, void *); -@@ -152,26 +155,22 @@ route_table_wait(void) + static void route_map_clear(void); + +@@ -106,8 +109,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, +@@ -152,26 +154,22 @@ route_table_wait(void) ovs_mutex_unlock(&route_table_mutex); } @@ -6475,7 +6498,7 @@ index ac82cf262f..6df7237e10 100644 nl_dump_start(&dump, NETLINK_ROUTE, &request); ofpbuf_uninit(&request); -@@ -181,12 +180,43 @@ route_table_reset(void) +@@ -181,19 +179,51 @@ route_table_reset(void) struct route_table_msg msg; if (route_table_parse(&reply, &msg)) { @@ -6520,6 +6543,15 @@ index ac82cf262f..6df7237e10 100644 } /* 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[] = { @@ -201,6 +231,7 @@ route_table_parse(struct ofpbuf *buf, struct route_table_msg *change) [RTA_OIF] = { .type = NL_A_U32, .optional = true }, [RTA_GATEWAY] = { .type = NL_A_U32, .optional = true }, diff --git a/SPECS/openvswitch3.1.spec b/SPECS/openvswitch3.1.spec index ffb8bb6..8277e77 100644 --- a/SPECS/openvswitch3.1.spec +++ b/SPECS/openvswitch3.1.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 3.1.0 -Release: 128%{?dist} +Release: 129%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -756,6 +756,13 @@ exit 0 %endif %changelog +* Wed Aug 14 2024 Open vSwitch CI - 3.1.0-129 +- Merging upstream branch-3.1 [RH git: c2c244d6c4] + Commit list: + 120050c26f netdev-linux: Fix unaligned access to rpl_rtnl_link_stats64. + a480602cdf route-table: Fix another UBsan warning about pointer type. + + * Thu Aug 08 2024 Open vSwitch CI - 3.1.0-128 - Merging upstream branch-3.1 [RH git: 7b8b03b283] Commit list: