Преглед изворни кода

Tests: Unmap memory ranges on /dev/mem after testing mmap(2)

Liav A пре 3 година
родитељ
комит
1716105e73
1 измењених фајлова са 5 додато и 1 уклоњено
  1. 5 1
      Tests/Kernel/TestMemoryDeviceMmap.cpp

+ 5 - 1
Tests/Kernel/TestMemoryDeviceMmap.cpp

@@ -23,7 +23,11 @@ static ALWAYS_INLINE bool mem_chunk(int fd, u64 base, u64 length)
 {
     u64 mmoffset = base % sysconf(_SC_PAGESIZE);
     void* mmp = mmap(NULL, mmoffset + length, PROT_READ, MAP_SHARED, fd, base - mmoffset);
-    return mmp != MAP_FAILED;
+    if (mmp == MAP_FAILED)
+        return false;
+    if (munmap(mmp, mmoffset + length) < 0)
+        perror("munmap");
+    return true;
 }
 
 enum class ReadResult {