diff --git a/0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch b/0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch new file mode 100644 index 0000000..a47f4e2 --- /dev/null +++ b/0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch @@ -0,0 +1,49 @@ +From a60b4ae108d7853f604e2d75147f6175ba908dfd Mon Sep 17 00:00:00 2001 +From: Julian Wolf +Date: Fri, 13 Jun 2014 14:24:36 +0200 +Subject: [PATCH] Fixed segfault when no node could be found in sysfs + bnc#872922 + +--- + distance.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/distance.c b/distance.c +index 4a26972..84affa3 100755 +--- a/distance.c ++++ b/distance.c +@@ -57,6 +57,7 @@ static int read_distance_table(void) + int maxnode = numa_max_node() + 1; + int *table = NULL; + int err = -1; ++ int cnt = 0; + + for (nd = 0;; nd++) { + char fn[100]; +@@ -70,6 +71,8 @@ static int read_distance_table(void) + continue; + else + break; ++ }else { ++ cnt++; + } + len = getdelim(&line, &linelen, '\n', dfh); + fclose(dfh); +@@ -87,12 +90,12 @@ static int read_distance_table(void) + parse_numbers(line, table + nd * maxnode); + } + free(line); +- if (err) { ++ if (err || !cnt) { + numa_warn(W_distance, + "Cannot parse distance information in sysfs: %s", + strerror(errno)); + free(table); +- return err; ++ return -1; + } + /* Update the global table pointer. Race window here with + other threads, but in the worst case we leak one distance +-- +1.8.1.4 + diff --git a/numactl.changes b/numactl.changes index 5e48430..ce67cfc 100644 --- a/numactl.changes +++ b/numactl.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Jun 13 14:27:32 UTC 2014 - juwolf@suse.com + +- Add: 0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch + Fixes segfault when no node could be found in sysfs. bnc#872922 + ------------------------------------------------------------------- Tue Dec 10 19:01:57 UTC 2013 - dvaleev@suse.com diff --git a/numactl.spec b/numactl.spec index 24d5108..5f2b481 100644 --- a/numactl.spec +++ b/numactl.spec @@ -1,7 +1,7 @@ # # spec file for package numactl # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -32,6 +32,7 @@ Obsoletes: numactl-64bit Source: ftp://oss.sgi.com/www/projects/libnuma/download/numactl-%{version}.tar.gz Source2: baselibs.conf Patch0: revert_date_in_numastat.patch +Patch1: 0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: ia64 x86_64 ppc64 ppc64le ppc %sparc Requires: perl @@ -62,6 +63,7 @@ individual NUMA policy in applications. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build # looks like a numactl mainline bug, will propably be fixed