]> www.infradead.org Git - users/hch/misc.git/commitdiff
asm-generic: add an optional pfn_valid check to pfn_valid page_to_phys
authorChristoph Hellwig <hch@lst.de>
Fri, 11 Oct 2024 06:34:19 +0000 (08:34 +0200)
committerChristoph Hellwig <hch@lst.de>
Fri, 11 Oct 2024 06:37:50 +0000 (08:37 +0200)
Based on the old powerpc version.

Signed-off-by: Christoph Hellwig <hch@lst.de>
include/asm-generic/memory_model.h

index a73a140cbecdd7462aa7e106e835423589c292b0..6d1fb6162ac1a6b20c1854d938272e1c850c9b08 100644 (file)
@@ -64,7 +64,17 @@ static inline int pfn_valid(unsigned long pfn)
 #define page_to_pfn __page_to_pfn
 #define pfn_to_page __pfn_to_page
 
+#ifdef CONFIG_DEBUG_VIRTUAL
+#define page_to_phys(page)                                             \
+({                                                                     \
+       unsigned long __pfn = page_to_pfn(page);                        \
+                                                                       \
+       WARN_ON_ONCE(!pfn_valid(__pfn));                                \
+       PFN_PHYS(__pfn);                                                \
+})
+#else
 #define page_to_phys(page)     PFN_PHYS(page_to_pfn(page))
+#endif /* CONFIG_DEBUG_VIRTUAL */
 #define phys_to_page(phys)     pfn_to_page(PHYS_PFN(phys))
 
 #endif /* __ASSEMBLY__ */