commit numactl for openSUSE:Factory
Hello community, here is the log from the commit of package numactl for openSUSE:Factory checked in at 2014-07-31 10:04:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/numactl (Old) and /work/SRC/openSUSE:Factory/.numactl.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "numactl" Changes: -------- --- /work/SRC/openSUSE:Factory/numactl/numactl.changes 2014-06-19 13:19:57.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.numactl.new/numactl.changes 2014-07-31 10:04:20.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Jul 29 08:26:28 UTC 2014 - juwolf@suse.com + +- Fixed patch 0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch + for bnc#872922 + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ 0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch ++++++ --- /var/tmp/diff_new_pack.qo4Lek/_old 2014-07-31 10:04:22.000000000 +0200 +++ /var/tmp/diff_new_pack.qo4Lek/_new 2014-07-31 10:04:22.000000000 +0200 @@ -1,49 +1,43 @@ -From a60b4ae108d7853f604e2d75147f6175ba908dfd Mon Sep 17 00:00:00 2001 +From 5dce07818a2f2c6ebde399f58702fe5beecb2eed Mon Sep 17 00:00:00 2001 From: Julian Wolf <juwolf@suse.com> -Date: Fri, 13 Jun 2014 14:24:36 +0200 +Date: Fri, 18 Jul 2014 14:05:05 +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(-) + distance.c | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/distance.c b/distance.c -index 4a26972..84affa3 100755 +index 4a26972..5db7fe2 100755 --- a/distance.c +++ b/distance.c -@@ -57,6 +57,7 @@ static int read_distance_table(void) - int maxnode = numa_max_node() + 1; +@@ -58,19 +58,16 @@ static int read_distance_table(void) int *table = NULL; int err = -1; -+ int cnt = 0; - for (nd = 0;; nd++) { +- for (nd = 0;; nd++) { ++ for (nd = 0; nd < maxnode; nd++) { char fn[100]; -@@ -70,6 +71,8 @@ static int read_distance_table(void) - continue; - else - break; -+ }else { -+ cnt++; - } + FILE *dfh; + sprintf(fn, "/sys/devices/system/node/node%d/distance", nd); + dfh = fopen(fn, "r"); +- if (!dfh) { +- if (errno == ENOENT) +- err = 0; +- if (!err && nd<maxnode) +- continue; +- else +- break; +- } ++ if (dfh) ++ err = 0; ++ else ++ continue; ++ 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 + if (len <= 0) -- 1.8.1.4 -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de