diff --git a/SOURCES/openvswitch-3.1.0.patch b/SOURCES/openvswitch-3.1.0.patch index 7814424..1fb5526 100644 --- a/SOURCES/openvswitch-3.1.0.patch +++ b/SOURCES/openvswitch-3.1.0.patch @@ -4483,7 +4483,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, @@ -4567,6 +4567,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 @@ -6376,7 +6386,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 @@ @@ -6396,16 +6406,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); } @@ -6441,7 +6464,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)) { @@ -6486,6 +6509,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 94246fb..e38c7d1 100644 --- a/SPECS/openvswitch3.1.spec +++ b/SPECS/openvswitch3.1.spec @@ -63,7 +63,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 3.1.0 -Release: 138%{?dist} +Release: 139%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -759,6 +759,13 @@ exit 0 %endif %changelog +* Wed Aug 14 2024 Open vSwitch CI - 3.1.0-139 +- Merging upstream branch-3.1 [RH git: 2a69a988c3] + 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-138 - Merging upstream branch-3.1 [RH git: 728b1d834e] Commit list: