Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package irqbalance for openSUSE:Factory checked in at 2022-11-08 10:53:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/irqbalance (Old) and /work/SRC/openSUSE:Factory/.irqbalance.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "irqbalance" Tue Nov 8 10:53:31 2022 rev:68 rq:1034181 version:1.9.2 Changes: -------- --- /work/SRC/openSUSE:Factory/irqbalance/irqbalance.changes 2022-10-27 13:52:17.383994797 +0200 +++ /work/SRC/openSUSE:Factory/.irqbalance.new.1597/irqbalance.changes 2022-11-08 10:53:35.957473383 +0100 @@ -1,0 +2,10 @@ +Mon Nov 7 12:23:32 UTC 2022 - Dirk M??ller <dmuel...@suse.com> + +- update to 1.9.2: + * avoid coredump on build_one_dev_entry() + * avoid double free on deinit_thermal() + * change the log level in thermal.c + * fix a minor typo +- drop Avoid-double-free-on-deinit_thermal.patch, uninitialized.patch: (upstream) + +------------------------------------------------------------------- Old: ---- Avoid-double-free-on-deinit_thermal.patch irqbalance-1.9.1.tar.gz uninitialized.patch New: ---- irqbalance-1.9.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ irqbalance.spec ++++++ --- /var/tmp/diff_new_pack.OwK1uE/_old 2022-11-08 10:53:37.721483880 +0100 +++ /var/tmp/diff_new_pack.OwK1uE/_new 2022-11-08 10:53:37.725483904 +0100 @@ -21,7 +21,7 @@ %define _fillupdir %{_localstatedir}/adm/fillup-templates %endif Name: irqbalance -Version: 1.9.1 +Version: 1.9.2 Release: 0 Summary: Daemon to balance IRQs on SMP machines License: GPL-2.0-or-later @@ -30,9 +30,6 @@ Source: https://github.com/Irqbalance/irqbalance/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source3: sysconfig.irqbalance Patch1: Set-fd-limit.patch -Patch2: uninitialized.patch -# https://github.com/Irqbalance/irqbalance/pull/243 -Patch3: Avoid-double-free-on-deinit_thermal.patch BuildRequires: libcap-ng-devel BuildRequires: libtool BuildRequires: ncurses-devel ++++++ irqbalance-1.9.1.tar.gz -> irqbalance-1.9.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irqbalance-1.9.1/classify.c new/irqbalance-1.9.2/classify.c --- old/irqbalance-1.9.1/classify.c 2022-10-13 10:14:05.000000000 +0200 +++ new/irqbalance-1.9.2/classify.c 2022-10-31 08:28:44.000000000 +0100 @@ -646,7 +646,7 @@ struct dirent *entry; DIR *msidir; int irqnum; - struct irq_info hint; + struct irq_info hint = {0}; char path[PATH_MAX]; char devpath[PATH_MAX]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irqbalance-1.9.1/configure.ac new/irqbalance-1.9.2/configure.ac --- old/irqbalance-1.9.1/configure.ac 2022-10-13 10:14:05.000000000 +0200 +++ new/irqbalance-1.9.2/configure.ac 2022-10-31 08:28:44.000000000 +0100 @@ -1,4 +1,4 @@ -AC_INIT(irqbalance,1.9.1) +AC_INIT(irqbalance,1.9.2) AC_PREREQ(2.69)dnl AC_CONFIG_HEADERS(config.h) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irqbalance-1.9.1/procinterrupts.c new/irqbalance-1.9.2/procinterrupts.c --- old/irqbalance-1.9.1/procinterrupts.c 2022-10-13 10:14:05.000000000 +0200 +++ new/irqbalance-1.9.2/procinterrupts.c 2022-10-31 08:28:44.000000000 +0100 @@ -362,7 +362,7 @@ log(TO_ALL, LOG_WARNING, "But none found in sysfs, you need to update your kernel\n"); log(TO_ALL, LOG_WARNING, "Until then, IRQs will be improperly classified\n"); /* - * Set msi_foun_in_sysfs, so we don't get this error constantly + * Set msi_found_in_sysfs, so we don't get this error constantly */ msi_found_in_sysfs = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irqbalance-1.9.1/thermal.c new/irqbalance-1.9.2/thermal.c --- old/irqbalance-1.9.1/thermal.c 2022-10-13 10:14:05.000000000 +0200 +++ new/irqbalance-1.9.2/thermal.c 2022-10-31 08:28:44.000000000 +0100 @@ -99,13 +99,13 @@ rc = genl_connect(sock); if (rc) { - log(TO_ALL, LOG_ERR, "thermal: socket bind failed.\n"); + log(TO_ALL, LOG_INFO, "thermal: socket bind failed, thermald may not be running.\n"); return TRUE; } callback = nl_cb_alloc(NL_CB_DEFAULT); if (!callback) { - log(TO_ALL, LOG_ERR, "thermal: callback allocation failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: callback allocation failed.\n"); return TRUE; } @@ -123,7 +123,7 @@ int attrlen, rc, i; if (!arg) { - log(TO_ALL, LOG_ERR, "thermal: group id - failed to receive argument.\n"); + log(TO_ALL, LOG_WARNING, "thermal: group id - failed to receive argument.\n"); return NL_SKIP; } data = arg; @@ -148,14 +148,14 @@ attrlen, /* length of attribute stream */ policy); /* validation policy */ if (rc) { - log(TO_ALL, LOG_ERR, "thermal: group id - failed to create attributes.\n"); + log(TO_ALL, LOG_WARNING, "thermal: group id - failed to create attributes.\n"); return NL_SKIP; } /* start of the multi-cast group attribute */ mcgrp = attrs[CTRL_ATTR_MCAST_GROUPS]; if (!mcgrp) { - log(TO_ALL, LOG_ERR, "thermal: group id - no multi-cast group attributes.\n"); + log(TO_ALL, LOG_WARNING, "thermal: group id - no multi-cast group attributes.\n"); return NL_SKIP; } @@ -223,82 +223,82 @@ msg = nlmsg_alloc(); if (!msg) { - log(TO_ALL, LOG_ERR, "thermal: message allocation failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: message allocation failed.\n"); goto err_out; } msghdr.id = genl_ctrl_resolve(sock, NL_FAMILY_NAME); if (msghdr.id < 0) { - log(TO_ALL, LOG_ERR, "thermal: message id enumeration failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: message id enumeration failed.\n"); goto err_out; } hdr = genlmsg_put(msg, msghdr.port, msghdr.seq, msghdr.id, msghdr.hdrlen, msghdr.flags, msghdr.cmd, msghdr.version); if (!hdr) { - log(TO_ALL, LOG_ERR, "thermal: netlink header setup failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: netlink header setup failed.\n"); goto err_out; } rc = nla_put_string(msg, CTRL_ATTR_FAMILY_NAME, THERMAL_GENL_FAMILY_NAME); if (rc) { - log(TO_ALL, LOG_ERR, "thermal: message setup failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: message setup failed.\n"); goto err_out; } cloned_callback = nl_cb_clone(callback); if (!cloned_callback) { - log(TO_ALL, LOG_ERR, "thermal: callback handle duplication failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: callback handle duplication failed.\n"); goto err_out; } rc = nl_send_auto(sock, msg); if (rc < 0) { - log(TO_ALL, LOG_ERR, "thermal: failed to send the first message.\n"); + log(TO_ALL, LOG_WARNING, "thermal: failed to send the first message.\n"); goto err_out; } rc = nl_cb_err(cloned_callback, NL_CB_CUSTOM, handle_error, &callback_rc); if (rc) { - log(TO_ALL, LOG_ERR, "thermal: error callback setup failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: error callback setup failed.\n"); goto err_out; } rc = nl_cb_set(cloned_callback, NL_CB_ACK, NL_CB_CUSTOM, handle_end, &callback_rc); if (rc) { - log(TO_ALL, LOG_ERR, "thermal: ack callback setup failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: ack callback setup failed.\n"); goto err_out; } rc = nl_cb_set(cloned_callback, NL_CB_FINISH, NL_CB_CUSTOM, handle_end, &callback_rc); if (rc) { - log(TO_ALL, LOG_ERR, "thermal: finish callback setup failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: finish callback setup failed.\n"); goto err_out; } rc = nl_cb_set(cloned_callback, NL_CB_VALID, NL_CB_CUSTOM, handle_groupid, &nldata); if (rc) { - log(TO_ALL, LOG_ERR, "thermal: group id callback setup failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: group id callback setup failed.\n"); goto err_out; } while (callback_rc != 0) { rc = nl_recvmsgs(sock, cloned_callback); if (rc < 0) { - log(TO_ALL, LOG_ERR, "thermal: failed to receive messages.\n"); + log(TO_ALL, LOG_WARNING, "thermal: failed to receive messages.\n"); goto err_out; } } group_id = nldata.id; if (group_id < 0) { - log(TO_ALL, LOG_ERR, "thermal: invalid group_id was received.\n"); + log(TO_ALL, LOG_WARNING, "thermal: invalid group_id was received.\n"); goto err_out; } rc = nl_socket_add_membership(sock, group_id); if (rc) { - log(TO_ALL, LOG_ERR, "thermal: failed to join the netlink group.\n"); + log(TO_ALL, LOG_WARNING, "thermal: failed to join the netlink group.\n"); goto err_out; } @@ -428,20 +428,20 @@ int rc; if (sysconf(_SC_NPROCESSORS_ONLN) == SYSCONF_ERR) { - log(TO_ALL, LOG_ERR, "thermal: _SC_NPROCESSORS_ONLN not available.\n"); + log(TO_ALL, LOG_WARNING, "thermal: _SC_NPROCESSORS_ONLN not available.\n"); return TRUE; } rc = nl_cb_set(callback, NL_CB_SEQ_CHECK, NL_CB_CUSTOM, handler_for_debug, NULL); if (rc) { - log(TO_ALL, LOG_ERR, "thermal: debug handler registration failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: debug handler registration failed.\n"); return TRUE; } rc = nl_cb_set(callback, NL_CB_VALID, NL_CB_CUSTOM, handle_thermal_event, NULL); if (rc) { - log(TO_ALL, LOG_ERR, "thermal: thermal handler registration failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: thermal handler registration failed.\n"); return TRUE; } @@ -461,7 +461,7 @@ err = nl_recvmsgs(sock, callback); if (err) { - log(TO_ALL, LOG_ERR, "thermal: failed to receive messages (rc=%d).\n", err); + log(TO_ALL, LOG_WARNING, "thermal: failed to receive messages (rc=%d).\n", err); retry++; /* @@ -469,9 +469,9 @@ * failing down. */ if (retry <= MAX_RECV_ERRS) { - log(TO_ALL, LOG_ERR, "thermal: but keep the connection.\n"); + log(TO_ALL, LOG_WARNING, "thermal: but keep the connection.\n"); } else { - log(TO_ALL, LOG_ERR, "thermal: disconnect now with %u failures.\n", + log(TO_ALL, LOG_WARNING, "thermal: disconnect now with %u failures.\n", retry); return FALSE; } @@ -489,13 +489,13 @@ rc = nl_socket_set_nonblocking(sock); if (rc) { - log(TO_ALL, LOG_ERR, "thermal: non-blocking mode setup failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: non-blocking mode setup failed.\n"); return TRUE; } fd = nl_socket_get_fd(sock); if (fd == INVALID_NL_FD) { - log(TO_ALL, LOG_ERR, "thermal: file descriptor setup failed.\n"); + log(TO_ALL, LOG_WARNING, "thermal: file descriptor setup failed.\n"); return TRUE; } @@ -506,8 +506,14 @@ void deinit_thermal(void) { - nl_cb_put(callback); - nl_socket_free(sock); + if (callback) { + nl_cb_put(callback); + callback = NULL; + } + if (sock) { + nl_socket_free(sock); + sock = NULL; + } } /*