diff options
| author | Catalin Marinas <catalin.marinas@arm.com> | 2025-11-28 15:48:03 +0000 |
|---|---|---|
| committer | Catalin Marinas <catalin.marinas@arm.com> | 2025-11-28 15:48:03 +0000 |
| commit | edde060637b92607f3522252c03d64ad06369933 (patch) | |
| tree | ba2bb8a07fa71722c1ecce063d1d4eeceaddb9b8 | |
| parent | 52c4d1d62424c574fa048235598ce37bd4ed1e32 (diff) | |
| parent | 0c2988aaa4d3eda94b738d5a7acae7838d52fe4d (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.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; } } |
