In accordance to man migrate_pages(), mbind() the bit mask size
should be rounded to next multiple of sizeof(unsigned long).

Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmansk...@oracle.com>
---
 .../syscalls/migrate_pages/migrate_pages01.c       |    5 ++++-
 .../syscalls/migrate_pages/migrate_pages02.c       |    5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/testcases/kernel/syscalls/migrate_pages/migrate_pages01.c 
b/testcases/kernel/syscalls/migrate_pages/migrate_pages01.c
index c23e8b0..9981c0c 100644
--- a/testcases/kernel/syscalls/migrate_pages/migrate_pages01.c
+++ b/testcases/kernel/syscalls/migrate_pages/migrate_pages01.c
@@ -248,7 +248,10 @@ static void setup(void)
                         ret);
 
        sane_max_node = get_max_node();
-       sane_nodemask_size = sane_max_node / 8 + 1;
+       sane_nodemask_size = sane_max_node / (sizeof(unsigned long)*8);
+       sane_nodemask_size += sane_max_node % (sizeof(unsigned long)*8) == 0 ?
+                               0 : 1;
+       sane_nodemask_size *= sizeof(unsigned long);
        sane_old_nodes = SAFE_MALLOC(NULL, sane_nodemask_size);
        sane_new_nodes = SAFE_MALLOC(NULL, sane_nodemask_size);
        memset(sane_old_nodes, 0, sane_nodemask_size);
diff --git a/testcases/kernel/syscalls/migrate_pages/migrate_pages02.c 
b/testcases/kernel/syscalls/migrate_pages/migrate_pages02.c
index 49129e0..2b30b1f 100644
--- a/testcases/kernel/syscalls/migrate_pages/migrate_pages02.c
+++ b/testcases/kernel/syscalls/migrate_pages/migrate_pages02.c
@@ -110,7 +110,10 @@ static int migrate_to_node(pid_t pid, int node)
        tst_resm(TINFO, "pid(%d) migrate pid %d to node -> %d",
                 getpid(), pid, node);
        max_node = get_max_node();
-       nodemask_size = max_node / 8 + 1;
+       nodemask_size = max_node / (sizeof(unsigned long)*8);
+       nodemask_size += max_node % (sizeof(unsigned long)*8) == 0 ?
+                       0 : 1;
+       nodemask_size *= sizeof(unsigned long);
        old_nodes = SAFE_MALLOC(NULL, nodemask_size);
        new_nodes = SAFE_MALLOC(NULL, nodemask_size);
 
-- 
1.7.1


------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to