diff options
| -rw-r--r-- | arch/arm64/mm/pageattr.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm64/mm/pageattr.c b/arch/arm64/mm/pageattr.c index fe6fdc6249e3..f0e784b963e6 100644 --- a/arch/arm64/mm/pageattr.c +++ b/arch/arm64/mm/pageattr.c @@ -148,6 +148,7 @@ static int change_memory_common(unsigned long addr, int numpages, unsigned long size = PAGE_SIZE * numpages; unsigned long end = start + size; struct vm_struct *area; + int ret; if (!PAGE_ALIGNED(addr)) { start &= PAGE_MASK; @@ -186,8 +187,10 @@ static int change_memory_common(unsigned long addr, int numpages, unsigned long idx = (start - (unsigned long)kasan_reset_tag(area->addr)) >> PAGE_SHIFT; for (; numpages; idx++, numpages--) { - __change_memory_common((u64)page_address(area->pages[idx]), - PAGE_SIZE, set_mask, clear_mask); + ret = __change_memory_common((u64)page_address(area->pages[idx]), + PAGE_SIZE, set_mask, clear_mask); + if (ret) + return ret; } } |
