diff --git a/_servicedata b/_servicedata deleted file mode 100644 index e26a1e4..0000000 --- a/_servicedata +++ /dev/null @@ -1,4 +0,0 @@ - - - https://github.com/Irqbalance/irqbalance.git - e16b05ce9e312a19a6d04baebc780ec5aa8813be \ No newline at end of file diff --git a/irqbalance.changes b/irqbalance.changes index f3df293..a5b8e02 100644 --- a/irqbalance.changes +++ b/irqbalance.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Oct 18 21:15:49 UTC 2022 - Dirk Müller + +- add uninitialized.patch (bsc#1204371) +- build with thermald support on x86_64 (jsc#PED-754) + ------------------------------------------------------------------- Thu Oct 13 09:03:59 UTC 2022 - Dirk Müller diff --git a/irqbalance.spec b/irqbalance.spec index 86e56f7..7b868af 100644 --- a/irqbalance.spec +++ b/irqbalance.spec @@ -30,11 +30,15 @@ URL: https://github.com/Irqbalance/irqbalance 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 BuildRequires: libcap-ng-devel BuildRequires: libtool BuildRequires: ncurses-devel BuildRequires: pkgconfig BuildRequires: pkgconfig(glib-2.0) +%ifarch x86_64 +BuildRequires: pkgconfig(libnl-3.0) +%endif Requires(pre): %fillup_prereq Recommends: %{name}-ui ExcludeArch: s390 s390x @@ -61,7 +65,11 @@ Text UI for the IRQ balance daemon. %build NOCONFIGURE=1 ./autogen.sh -%configure +%configure \ +%ifarch x86_64 + --enable-thermal +%endif + %make_build LDFLAGS="-Wl,-z,relro,-z,now" CFLAGS="%{optflags} -fPIE -pie $(ncurses6-config --cflags)" LDFLAGS="$(ncurses6-config --libs)" cp %{SOURCE3} . diff --git a/uninitialized.patch b/uninitialized.patch new file mode 100644 index 0000000..3141756 --- /dev/null +++ b/uninitialized.patch @@ -0,0 +1,68 @@ +From 33c857d17b9af8a8a4dd785b8d511ba1f5d0bd88 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dirk=20M=C3=BCller?= +Date: Tue, 18 Oct 2022 23:08:31 +0200 +Subject: [PATCH] Avoid uninitialized read +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +irq_info struct is initialized on stack so the members need to +be initalized to avoid a crash on uninitialized pointer dereference. + +Signed-off-by: Dirk Müller +--- + classify.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/classify.c b/classify.c +index 3858754..5d3a9f0 100644 +--- a/classify.c ++++ b/classify.c +@@ -259,7 +259,7 @@ static gint compare_ints(gconstpointer a, gconstpointer b) + + static void __add_banned_irq(int irq, GList **list) + { +- struct irq_info find, *new; ++ struct irq_info find = {0}, *new; + GList *entry; + + find.irq = irq; +@@ -394,7 +394,7 @@ get_numa_node: + + void remove_one_irq_from_db(int irq) + { +- struct irq_info find, *tmp; ++ struct irq_info find = {0}, *tmp; + GList *entry = NULL; + + find.irq = irq; +@@ -646,7 +646,7 @@ static void build_one_dev_entry(const char *dirname, int build_irq) + struct dirent *entry; + DIR *msidir; + int irqnum; +- struct irq_info hint; ++ struct irq_info hint = {0}; + char path[PATH_MAX]; + char devpath[PATH_MAX]; + +@@ -818,7 +818,7 @@ void for_each_irq(GList *list, void (*cb)(struct irq_info *info, void *data), vo + struct irq_info *get_irq_info(int irq) + { + GList *entry; +- struct irq_info find; ++ struct irq_info find = {0}; + + find.irq = irq; + entry = g_list_find_custom(interrupts_db, &find, compare_ints); +@@ -832,7 +832,7 @@ struct irq_info *get_irq_info(int irq) + void migrate_irq(GList **from, GList **to, struct irq_info *info) + { + GList *entry; +- struct irq_info find, *tmp; ++ struct irq_info find = {0}, *tmp; + + find.irq = info->irq; + entry = g_list_find_custom(*from, &find, compare_ints); +-- +2.38.0 +