Thread (26 messages) flat view 26 messages, 5 authors, 12d ago

Re: [PATCH v9 03/10] set_memory.h: Introduce can_set_direct_map_range()

From: Vincent Donnefort <hidden>
Date: 2026-09-07 09:52:49
Also in: linux-devicetree, linux-mm, lkml, op-tee

On Sun, Sep 06, 2026 at 10:39:02PM +0300, Mike Rapoport wrote:
On Wed, Sep 02, 2026 at 11:47:05AM +0100, Vincent Donnefort wrote:
quoted
While can_set_direct_map() tells whether the direct map can be modified
globally, can_set_direct_map_range() checks if a specific range can be
modified. e.g. if mapped at PTE-level.
set_direct_map are going to have number of pages parameter soon:

https://lore.kernel.org/all/20260903-execmem-set-vm-perms-v0-2-v3-1-949b64a9f755@kernel.org (local)

so this check can be a part of arm64::set_direct_map
ack.
I wouldn't expose can_set_direct_map_range() as a public API and rely on
the callers to "Do The Right Thing".
ack.

Thanks for having a look at the series.

-- 
Vincent

  
quoted
Signed-off-by: Vincent Donnefort <redacted>
diff --git a/include/linux/set_memory.h b/include/linux/set_memory.h
index 3030d9245f5a..88175c3fa751 100644
--- a/include/linux/set_memory.h
+++ b/include/linux/set_memory.h
@@ -44,6 +44,12 @@ static inline bool kernel_page_present(struct page *page)
 {
 	return true;
 }
+
+static inline bool can_set_direct_map_range(struct page *page,
+					    unsigned long nr_pages)
+{
+	return false;
+}
 #else /* CONFIG_ARCH_HAS_SET_DIRECT_MAP */
 /*
  * Some architectures, e.g. ARM64 can disable direct map modifications at
@@ -56,6 +62,14 @@ static inline bool can_set_direct_map(void)
 }
 #define can_set_direct_map can_set_direct_map
 #endif
+
+#ifndef can_set_direct_map_range
+static inline bool can_set_direct_map_range(struct page *page, unsigned long nr_pages)
+{
+	return can_set_direct_map();
+}
+#define can_set_direct_map_range can_set_direct_map_range
+#endif
 #endif /* CONFIG_ARCH_HAS_SET_DIRECT_MAP */
 
 #ifdef CONFIG_X86_64
-- 
2.55.0.970.g62bdec98f9-goog
-- 
Sincerely yours,
Mike.
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help