include/linux/iommu-debug-pagealloc.h

Source file repositories/reference/linux-study-clean/include/linux/iommu-debug-pagealloc.h

File Facts

System
Linux kernel
Corpus path
include/linux/iommu-debug-pagealloc.h
Extension
.h
Size
860 bytes
Lines
33
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

// 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 */

Annotation

Implementation Notes