From 6581f9b4b2d2a0db4f890da4e0e671f00f121bb6 Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Thu, 25 Oct 2018 11:14:26 +0900 Subject: [PATCH] mcctrl syscall: compat for newer zap_vma_ptes newer version of this function no longer return an error on the basis that "no-one checks what it returns anyway"........ See linux 4.18's 27d036e33237e ("mm: Remove return value of zap_vma_ptes()") Change-Id: I8fb9f060e3e145cc2db21738585c9ee7f1445f74 --- executer/kernel/mcctrl/syscall.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/executer/kernel/mcctrl/syscall.c b/executer/kernel/mcctrl/syscall.c index 342b3845..44c9a516 100644 --- a/executer/kernel/mcctrl/syscall.c +++ b/executer/kernel/mcctrl/syscall.c @@ -2085,7 +2085,9 @@ int mcctrl_clear_pte_range(uintptr_t start, uintptr_t len) struct vm_area_struct *vma; uintptr_t addr; uintptr_t end; +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 18, 0) int error; +#endif int ret; ret = 0; @@ -2105,6 +2107,9 @@ int mcctrl_clear_pte_range(uintptr_t start, uintptr_t len) end = vma->vm_end; } if (addr < end) { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 18, 0) + zap_vma_ptes(vma, addr, end-addr); +#else error = zap_vma_ptes(vma, addr, end-addr); if (error) { mcctrl_zap_page_range(vma, addr, end-addr, NULL); @@ -2113,6 +2118,7 @@ int mcctrl_clear_pte_range(uintptr_t start, uintptr_t len) if (ret == 0) { ret = error; } +#endif } addr = end; }