Accepting request 237246 from home:juwolf:branches:Base:System

- 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

OBS-URL: https://build.opensuse.org/request/show/237246
OBS-URL: https://build.opensuse.org/package/show/Base:System/numactl?expand=0&rev=44
This commit is contained in:
Thomas Renninger 2014-06-13 15:12:50 +00:00 committed by Git OBS Bridge
parent 4e62003196
commit a9e0e5bc30
3 changed files with 58 additions and 1 deletions

View File

@ -0,0 +1,49 @@
From a60b4ae108d7853f604e2d75147f6175ba908dfd Mon Sep 17 00:00:00 2001
From: Julian Wolf <juwolf@suse.com>
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

View File

@ -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

View File

@ -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