Cleanup memory
authorCafe <cafe@not.applicable>
Thu, 6 Jul 2017 00:00:00 +0000 (00:00 +0000)
committerCafe <cafe@not.applicable>
Thu, 6 Jul 2017 19:30:11 +0000 (19:30 +0000)
fuzz.c

diff --git a/fuzz.c b/fuzz.c
index 970e6fd0caf79d38100f5aca0ef6d6a15624b25c..9a1a9bfdfd165b94350bec88fe2da20aa7e93522 100644 (file)
--- a/fuzz.c
+++ b/fuzz.c
@@ -63,6 +63,11 @@ uint64_t alloc_gpu_pages(int fd, int pages, int e_flags) {
        return alloc.gpu_va;
 }
 
+void free_gpu(int fd, uint64_t addr) {
+       struct kbase_uk_mem_free gfree = { .gpu_addr = addr };
+       m_ioctl(fd, gfree, KBASE_FUNC_MEM_FREE);
+}
+
 uint8_t* mmap_gpu(int fd, uint64_t addr, int page_count) {
        uint8_t* buffer = mmap(NULL, page_count << PAGE_SHIFT,
                                PROT_READ | PROT_WRITE, MAP_SHARED,
@@ -178,10 +183,8 @@ int job_chain(int fd) {
 
        munmap(buffer, PAGE_SIZE);
 
-       /* Free GPU memory */
-
-       struct kbase_uk_mem_free gfree = { .gpu_addr = descriptor };
-       m_ioctl(fd, gfree, KBASE_FUNC_MEM_FREE);
+       free_gpu(fd, descriptor);
+       munmap( (void*) (uint32_t) unknown_block, PAGE_SIZE); /* SAME_VA */
 
        return 0;
 }