| // SPDX-License-Identifier: GPL-2.0-only |
| /* |
| * Copyright (C) 2025 - Google Inc |
| * Author: Mostafa Saleh <smostafa@google.com> |
| * IOMMU API debug page alloc sanitizer |
| */ |
| |
| #ifndef __LINUX_IOMMU_DEBUG_PAGEALLOC_H |
| #define __LINUX_IOMMU_DEBUG_PAGEALLOC_H |
| |
| #ifdef CONFIG_IOMMU_DEBUG_PAGEALLOC |
| DECLARE_STATIC_KEY_FALSE(iommu_debug_initialized); |
| |
| extern struct page_ext_operations page_iommu_debug_ops; |
| |
| void __iommu_debug_check_unmapped(const struct page *page, int numpages); |
| |
| static inline void iommu_debug_check_unmapped(const struct page *page, int numpages) |
| { |
| if (static_branch_unlikely(&iommu_debug_initialized)) |
| __iommu_debug_check_unmapped(page, numpages); |
| } |
| |
| #else |
| static inline void iommu_debug_check_unmapped(const struct page *page, |
| int numpages) |
| { |
| } |
| |
| #endif /* CONFIG_IOMMU_DEBUG_PAGEALLOC */ |
| |
| #endif /* __LINUX_IOMMU_DEBUG_PAGEALLOC_H */ |