diff --git a/SOURCES/openvswitch-2.17.0.patch b/SOURCES/openvswitch-2.17.0.patch index 542f2f3..fa4f0ca 100644 --- a/SOURCES/openvswitch-2.17.0.patch +++ b/SOURCES/openvswitch-2.17.0.patch @@ -97547,7 +97547,7 @@ index d344514343..1afcc65adb 100644 } diff --git a/lib/dpctl.c b/lib/dpctl.c -index 29041fa3e3..61553426d0 100644 +index 29041fa3e3..d8483af40d 100644 --- a/lib/dpctl.c +++ b/lib/dpctl.c @@ -672,7 +672,7 @@ show_dpif(struct dpif *dpif, struct dpctl_params *dpctl_p) @@ -97559,7 +97559,32 @@ index 29041fa3e3..61553426d0 100644 continue; } -@@ -1727,26 +1727,23 @@ dpctl_flush_conntrack(int argc, const char *argv[], +@@ -1342,19 +1342,17 @@ static int + dpctl_del_flow_dpif(struct dpif *dpif, const char *key_s, + struct dpctl_params *dpctl_p) + { ++ struct dpif_port_dump port_dump; + struct dpif_flow_stats stats; ++ bool ufid_generated = false; + struct dpif_port dpif_port; +- struct dpif_port_dump port_dump; +- struct ofpbuf key; ++ bool ufid_present = false; ++ struct simap port_names; + struct ofpbuf mask; /* To be ignored. */ +- ++ struct ofpbuf key; + ovs_u128 ufid; +- bool ufid_generated; +- bool ufid_present; +- struct simap port_names; + int n, error; + +- ufid_present = false; + n = odp_ufid_from_string(key_s, &ufid); + if (n < 0) { + dpctl_error(dpctl_p, -n, "parsing flow ufid"); +@@ -1727,26 +1725,23 @@ dpctl_flush_conntrack(int argc, const char *argv[], /* Report error if there are more than one unparsed argument. */ if (args > 1) { @@ -97593,7 +97618,7 @@ index 29041fa3e3..61553426d0 100644 ds_destroy(&ds); dpif_close(dpif); return error; -@@ -2177,7 +2174,7 @@ parse_ct_limit_zones(const char *argv, struct ovs_list *zone_limits, +@@ -2177,7 +2172,7 @@ parse_ct_limit_zones(const char *argv, struct ovs_list *zone_limits, argcopy = xstrdup(argv + 5); next_zone = strtok_r(argcopy, ",", &save_ptr); @@ -97602,7 +97627,7 @@ index 29041fa3e3..61553426d0 100644 if (ovs_scan(next_zone, "%"SCNu16, &zone)) { ct_dpif_push_zone_limit(zone_limits, zone, 0, 0); } else { -@@ -2185,7 +2182,8 @@ parse_ct_limit_zones(const char *argv, struct ovs_list *zone_limits, +@@ -2185,7 +2180,8 @@ parse_ct_limit_zones(const char *argv, struct ovs_list *zone_limits, free(argcopy); return EINVAL; } @@ -105055,7 +105080,7 @@ index a921159667..d1d2ae6f20 100644 void smap_replace_nocopy(struct smap *, const char *, char *); diff --git a/lib/socket-util.c b/lib/socket-util.c -index 4f1ffecf5d..3eb3a3816b 100644 +index 4f1ffecf5d..b3f541b6db 100644 --- a/lib/socket-util.c +++ b/lib/socket-util.c @@ -62,7 +62,8 @@ static bool parse_sockaddr_components(struct sockaddr_storage *ss, @@ -105129,8 +105154,19 @@ index 4f1ffecf5d..3eb3a3816b 100644 { char *target = xstrdup(target_); char *port, *host; -@@ -539,7 +551,7 @@ inet_parse_active(const char *target_, int default_port, +@@ -534,12 +546,18 @@ inet_parse_active(const char *target_, int default_port, + if (!host) { + VLOG_ERR("%s: host must be specified", target_); + ok = false; ++ if (dns_failure) { ++ *dns_failure = false; ++ } + } else if (!port && default_port < 0) { + VLOG_ERR("%s: port must be specified", target_); ok = false; ++ if (dns_failure) { ++ *dns_failure = false; ++ } } else { ok = parse_sockaddr_components(ss, host, port, default_port, - target_, resolve_host); @@ -105138,7 +105174,7 @@ index 4f1ffecf5d..3eb3a3816b 100644 } if (!ok) { memset(ss, 0, sizeof *ss); -@@ -576,7 +588,7 @@ inet_open_active(int style, const char *target, int default_port, +@@ -576,7 +594,7 @@ inet_open_active(int style, const char *target, int default_port, int error; /* Parse. */ @@ -105147,7 +105183,7 @@ index 4f1ffecf5d..3eb3a3816b 100644 error = EAFNOSUPPORT; goto exit; } -@@ -648,7 +660,8 @@ exit: +@@ -648,7 +666,8 @@ exit: * zeros '*ss' and returns false. */ bool inet_parse_passive(const char *target_, int default_port, @@ -105157,8 +105193,13 @@ index 4f1ffecf5d..3eb3a3816b 100644 { char *target = xstrdup(target_); char *port, *host; -@@ -660,7 +673,7 @@ inet_parse_passive(const char *target_, int default_port, +@@ -658,9 +677,12 @@ inet_parse_passive(const char *target_, int default_port, + if (!port && default_port < 0) { + VLOG_ERR("%s: port must be specified", target_); ok = false; ++ if (dns_failure) { ++ *dns_failure = false; ++ } } else { ok = parse_sockaddr_components(ss, host, port, default_port, - target_, true); @@ -105166,7 +105207,7 @@ index 4f1ffecf5d..3eb3a3816b 100644 } if (!ok) { memset(ss, 0, sizeof *ss); -@@ -698,8 +711,14 @@ inet_open_passive(int style, const char *target, int default_port, +@@ -698,8 +720,14 @@ inet_open_passive(int style, const char *target, int default_port, struct sockaddr_storage ss; int fd = 0, error; unsigned int yes = 1; @@ -105182,7 +105223,7 @@ index 4f1ffecf5d..3eb3a3816b 100644 return -EAFNOSUPPORT; } kernel_chooses_port = ss_get_port(&ss) == 0; -@@ -783,7 +802,8 @@ inet_parse_address(const char *target_, struct sockaddr_storage *ss) +@@ -783,7 +811,8 @@ inet_parse_address(const char *target_, struct sockaddr_storage *ss) { char *target = xstrdup(target_); char *host = unbracket(target); diff --git a/SPECS/openvswitch2.17.spec b/SPECS/openvswitch2.17.spec index 043c2f8..91102e3 100644 --- a/SPECS/openvswitch2.17.spec +++ b/SPECS/openvswitch2.17.spec @@ -63,7 +63,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 2.17.0 -Release: 170%{?dist} +Release: 171%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -749,6 +749,13 @@ exit 0 %endif %changelog +* Tue May 28 2024 Open vSwitch CI - 2.17.0-171 +- Merging upstream branch-2.17 [RH git: ab94259ae7] + Commit list: + 9dc9ad38ba socket: Fix uninitialized values in inet_parse_ functions. + adc851604e dpctl: Fix uninitialized value when deleting flows. + + * Fri May 17 2024 Open vSwitch CI - 2.17.0-170 - Merging upstream branch-2.17 [RH git: 1d74c0f4cf] Commit list: