diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-support/numactl')
3 files changed, 103 insertions, 38 deletions
diff --git a/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-fix-NULL-pointer-problem.patch b/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-fix-NULL-pointer-problem.patch deleted file mode 100644 index 0497613dd..000000000 --- a/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-fix-NULL-pointer-problem.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 5c16beff9909b28f55f25f48ed7ddbf98d8b1d5c Mon Sep 17 00:00:00 2001 -From: Roy Li <rongqing.li@windriver.com> -Date: Wed, 18 Jul 2018 09:43:55 +0800 -Subject: [PATCH] fix NULL pointer problem - -return 0 if distance_table is NULL - -Upstream-Status: Pending - -read_distance_table() maybe return 0, but distance_table is not set, -if distance_table is used, and will lead to SEGFAULT - -Signed-off-by: Roy Li <rongqing.li@windriver.com> - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - distance.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/distance.c b/distance.c -index 8d472af..6a6e886 100644 ---- a/distance.c -+++ b/distance.c -@@ -113,6 +113,8 @@ int numa_distance(int a, int b) - int err = read_distance_table(); - if (err < 0) - return 0; -+ if(!distance_table) -+ return 0; - } - if ((unsigned)a >= distance_numnodes || (unsigned)b >= distance_numnodes) - return 0; --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch b/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch new file mode 100644 index 000000000..506101711 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch @@ -0,0 +1,100 @@ +From 68485f8516884377e54c623b0deff73f97321d96 Mon Sep 17 00:00:00 2001 +From: "Hongzhi.Song" <hongzhi.song@windriver.com> +Date: Thu, 19 Sep 2019 04:32:31 -0400 +Subject: [PATCH] numademo: fix error on 32bit system + +Error Info on 32bit: +root@intel-x86:~# numademo -t -e 1M +Configured Nodes does not match available memory nodes + +That's because sizeof(long)=4Word, but sizeof(long long)=8Word +on 32bit. So (long long) assigning to (long) maybe cause overflow. + +long numa_node_size(int node, long *freep) +{ + ... + long sz = numa_node_size64_int(node, &f2); + ~^^~ + return sz; + ... +} +long long numa_node_size64(int node, long long *freep) +~^^ ^^~ +{ + ... +} + +Unify the return type of above functions. + +Upstream-Status: Accepted [next version is after 2.0.13 or 2.0.14] +[https://github.com/numactl/numactl/commit/a7c4bc790a191d3e42b63850b409c1a72b75a4e1] + Submitted [https://github.com/numactl/numactl/pull/79] +[The first patch was merged but has a error, then the second fix it.] + +Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com> +--- + libnuma.c | 4 ++-- + numa.h | 2 +- + numademo.c | 2 +- + test/move_pages.c | 2 +- + 4 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/libnuma.c b/libnuma.c +index cac8851..8b5c6aa 100644 +--- a/libnuma.c ++++ b/libnuma.c +@@ -791,10 +791,10 @@ long long numa_node_size64(int node, long long *freep) + + make_internal_alias(numa_node_size64); + +-long numa_node_size(int node, long *freep) ++long long numa_node_size(int node, long long *freep) + { + long long f2; +- long sz = numa_node_size64_int(node, &f2); ++ long long sz = numa_node_size64_int(node, &f2); + if (freep) + *freep = f2; + return sz; +diff --git a/numa.h b/numa.h +index 3a8c543..268fb1d 100644 +--- a/numa.h ++++ b/numa.h +@@ -143,7 +143,7 @@ int numa_preferred(void); + + /* Return node size and free memory */ + long long numa_node_size64(int node, long long *freep); +-long numa_node_size(int node, long *freep); ++long long numa_node_size(int node, long long *freep); + + int numa_pagesize(void); + +diff --git a/numademo.c b/numademo.c +index a720db0..8c56da8 100644 +--- a/numademo.c ++++ b/numademo.c +@@ -301,7 +301,7 @@ int max_node, numnodes; + int get_node_list(void) + { + int a, got_nodes = 0; +- long free_node_sizes; ++ long long free_node_sizes; + + numnodes = numa_num_configured_nodes(); + node_to_use = (int *)malloc(numnodes * sizeof(int)); +diff --git a/test/move_pages.c b/test/move_pages.c +index d1d8436..f8ff25d 100644 +--- a/test/move_pages.c ++++ b/test/move_pages.c +@@ -26,7 +26,7 @@ int *node_to_use; + int get_node_list() + { + int a, got_nodes = 0, max_node, numnodes; +- long free_node_sizes; ++ long long free_node_sizes; + + numnodes = numa_num_configured_nodes(); + node_to_use = (int *)malloc(numnodes * sizeof(int)); +-- +2.23.0 + diff --git a/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb b/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb index 279ac0415..20b7fed86 100644 --- a/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb @@ -10,15 +10,15 @@ inherit autotools-brokensep ptest LIC_FILES_CHKSUM = "file://README.md;beginline=19;endline=32;md5=f8ff2391624f28e481299f3f677b21bb" -SRCREV = "841253d1313b01a968c380cae4f498f20c46e5aa" -PV = "2.0.12+git${SRCPV}" +SRCREV = "5d9f16722e3df49dc618a9f361bd482559695db7" +PV = "2.0.13+git${SRCPV}" SRC_URI = "git://github.com/numactl/numactl \ - file://0001-fix-NULL-pointer-problem.patch \ file://Fix-the-test-output-format.patch \ file://Makefile \ file://run-ptest \ file://0001-define-run-test-target.patch \ + file://0001-numademo-fix-error-on-32bit-system.patch \ " S = "${WORKDIR}/git" |