[CRIU] [PATCH] zdtm: check permissions for map_files

Andrey Vagin avagin at openvz.org
Mon Aug 8 10:39:20 PDT 2016


From: Andrew Vagin <avagin at virtuozzo.com>

Cc: Stanislav Kinsburskiy <skinsbursky at virtuozzo.com>
Test-for: b67d37d96fa0 ("proc_parse: fix vma file open mode recognition")
Signed-off-by: Andrew Vagin <avagin at virtuozzo.com>
---
 test/zdtm.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/test/zdtm.py b/test/zdtm.py
index 55f733f..f4b0675 100755
--- a/test/zdtm.py
+++ b/test/zdtm.py
@@ -923,13 +923,21 @@ def get_visible_state(test):
 		last = 0
 		for mp in open("/proc/%s/root/proc/%s/maps" % (test.getpid(), pid)):
 			m = map(lambda x: int('0x' + x, 0), mp.split()[0].split('-'))
+
 			m.append(mp.split()[1])
+
+                        f = "/proc/%s/root/proc/%s/map_files/%s" % (test.getpid(), pid, mp.split()[0])
+                        if os.access(f, os.F_OK):
+                                st = os.lstat(f)
+                                m.append(oct(st.st_mode))
+
 			if cmaps[last][1] == m[0] and cmaps[last][2] == m[2]:
 				cmaps[last][1] = m[1]
 			else:
 				cmaps.append(m)
 				last += 1
-		maps[pid] = set(map(lambda x: '%x-%x %s' % (x[0], x[1], x[2]), cmaps))
+
+		maps[pid] = set(map(lambda x: '%x-%x %s' % (x[0], x[1], x[2:]), cmaps))
 
 		cmounts = []
 		try:
-- 
2.7.4



More information about the CRIU mailing list