[dts] [dpdk-dts] [PATCH] tests/multiprocess: disable ASLR for multiprocess tests.

Jogarao Nartu njogarao at caviumnetworks.com
Tue Dec 5 13:42:17 CET 2017


Address-Space Layout Randomization can interfere hugepages memory
mapping so disable this feature to run multi-process applications.

Re-enable ASLR after tests completed.

Signed-off-by: Jogarao Nartu <njogarao at caviumnetworks.com>
---
 tests/TestSuite_multiprocess.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/tests/TestSuite_multiprocess.py b/tests/TestSuite_multiprocess.py
index 1bac35c..6479082 100644
--- a/tests/TestSuite_multiprocess.py
+++ b/tests/TestSuite_multiprocess.py
@@ -55,6 +55,15 @@ class TestMultiprocess(TestCase, IxiaPacketGenerator):
         """
         #self.verify('bsdapp' not in self.target, "Multiprocess not support freebsd")
 
+        # Get aslr(Addressspace layout randomization) value from /proc entries.
+        self.aslr_path = "/proc/sys/kernel/randomize_va_space"
+        cmd = "cat %s" % self.aslr_path
+        self.randomize_va_space = int(self.dut.send_expect("%s" % cmd, "#"))
+
+        # Disable aslr to run multiprocess test
+        cmd = "echo 0 > %s" % self.aslr_path
+        self.dut.send_expect("%s" %cmd, "#")
+
         self.verify(len(self.dut.get_all_cores()) >= 4, "Not enough Cores")
         self.tester.extend_external_packet_generator(TestMultiprocess, self)
 
@@ -273,6 +282,10 @@ class TestMultiprocess(TestCase, IxiaPacketGenerator):
         """
         Run after each test suite.
         """
+        # Reset original aslr value
+        cmd = "echo %d > %s" % (self.randomize_va_space,self.aslr_path)
+        self.dut.send_expect("%s" %cmd, "#")
+
         self.dut.kill_all()
         self.dut.close_session(self.session_secondary)
 
-- 
2.7.4



More information about the dts mailing list