[PATCH] Fix segfault in read_distance_table when no NUMA
Ian Wienand <[email protected]> Wed, 19 Jun 2013 21:56:08 +1000
| Newsgroups | org.kernel.vger.linux-numa |
|---|---|
| Message-ID | <[email protected]> |
Hi Debian bug #712692 reported a segfault on systems with no numa info. In this case, read_distance_table would exit with "0" which was not picked up as an error by numa_distance(), leading to a dereference of distance_table. Signed-off-by: Ian Wienand <[email protected]> --- distance.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/distance.c b/distance.c index 4a26972..ec423c4 100755 --- a/distance.c +++ b/distance.c @@ -58,15 +58,13 @@ static int read_distance_table(void) int *table = NULL; int err = -1; - for (nd = 0;; nd++) { + for (nd = 0; nd<maxnode; nd++) { char fn[100]; 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; -- 1.7.10.4