summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2025-11-28 15:48:03 +0000
committerCatalin Marinas <catalin.marinas@arm.com>2025-11-28 15:48:03 +0000
commitedde060637b92607f3522252c03d64ad06369933 (patch)
treeba2bb8a07fa71722c1ecce063d1d4eeceaddb9b8
parent52c4d1d62424c574fa048235598ce37bd4ed1e32 (diff)
parent0c2988aaa4d3eda94b738d5a7acae7838d52fe4d (diff)
Merge branch 'for-next/set_memory' into for-next/core
* for-next/set_memory: : Fix + documentation for the arm64 change_memory_common() arm64/mm: Document why linear map split failure upon vm_reset_perms is not problematic arm64/pageattr: Propagate return value from __change_memory_common
-rw-r--r--arch/arm64/mm/pageattr.c7
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;
}
}