include/linux/memfd.h
Source file repositories/reference/linux-study-clean/include/linux/memfd.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/memfd.h- Extension
.h- Size
- 1431 bytes
- Lines
- 55
- 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.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/file.h
Detected Declarations
function memfd_fcntlfunction memfd_check_seals_mmapfunction memfd_get_sealsfunction memfd_add_seals
Annotated Snippet
#ifndef __LINUX_MEMFD_H
#define __LINUX_MEMFD_H
#include <linux/file.h>
#define MEMFD_ANON_NAME "[memfd]"
#ifdef CONFIG_MEMFD_CREATE
extern long memfd_fcntl(struct file *file, unsigned int cmd, unsigned int arg);
struct folio *memfd_alloc_folio(struct file *memfd, pgoff_t idx);
/*
* Check for any existing seals on mmap, return an error if access is denied due
* to sealing, or 0 otherwise.
*
* We also update VMA flags if appropriate by manipulating the VMA flags pointed
* to by vm_flags_ptr.
*/
int memfd_check_seals_mmap(struct file *file, vm_flags_t *vm_flags_ptr);
struct file *memfd_alloc_file(const char *name, unsigned int flags);
int memfd_get_seals(struct file *file);
int memfd_add_seals(struct file *file, unsigned int seals);
#else
static inline long memfd_fcntl(struct file *f, unsigned int c, unsigned int a)
{
return -EINVAL;
}
static inline struct folio *memfd_alloc_folio(struct file *memfd, pgoff_t idx)
{
return ERR_PTR(-EINVAL);
}
static inline int memfd_check_seals_mmap(struct file *file,
vm_flags_t *vm_flags_ptr)
{
return 0;
}
static inline struct file *memfd_alloc_file(const char *name, unsigned int flags)
{
return ERR_PTR(-EINVAL);
}
static inline int memfd_get_seals(struct file *file)
{
return -EINVAL;
}
static inline int memfd_add_seals(struct file *file, unsigned int seals)
{
return -EINVAL;
}
#endif
#endif /* __LINUX_MEMFD_H */
Annotation
- Immediate include surface: `linux/file.h`.
- Detected declarations: `function memfd_fcntl`, `function memfd_check_seals_mmap`, `function memfd_get_seals`, `function memfd_add_seals`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.