drivers/md/dm-verity-target.c
Source file repositories/reference/linux-study-clean/drivers/md/dm-verity-target.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/md/dm-verity-target.c- Extension
.c- Size
- 46274 bytes
- Lines
- 1839
- Domain
- Driver Families
- Bucket
- drivers/md
- Inferred role
- Driver Families: exported/initcall integration point
- Status
- integration implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
dm-verity.hdm-verity-fec.hdm-verity-verify-sig.hdm-audit.hlinux/hex.hlinux/module.hlinux/reboot.hlinux/string.hlinux/jump_label.hlinux/security.h
Detected Declarations
struct dm_verity_prefetch_workstruct buffer_auxfunction dm_bufio_alloc_callbackfunction verity_map_sectorfunction verity_position_at_levelfunction verity_hashfunction verity_hash_at_levelfunction verity_handle_errfunction blockfunction verity_hash_for_blockfunction verity_recheckfunction verity_handle_data_hash_mismatchfunction verity_clear_pending_blocksfunction verity_verify_pending_blocksfunction verity_verify_iofunction verity_is_system_shutting_downfunction restart_io_errorfunction verity_finish_iofunction verity_workfunction verity_bh_workfunction verity_use_bhfunction verity_end_iofunction verity_prefetch_iofunction verity_submit_prefetchfunction verity_mapfunction verity_postsuspendfunction verity_statusfunction verity_prepare_ioctlfunction verity_iterate_devicesfunction verity_io_hintsfunction verity_init_sigfunction verity_free_sigfunction verity_init_sigfunction verity_free_sigfunction verity_alloc_most_oncefunction verity_alloc_zero_digestfunction verity_is_verity_modefunction verity_parse_verity_modefunction verity_is_verity_error_modefunction verity_parse_verity_error_modefunction verity_parse_opt_argsfunction verity_setup_hash_algfunction verity_setup_salt_and_hashstatefunction verity_ctrfunction hex2binfunction modefunction dm_verity_get_root_digestfunction verity_security_set_signature
Annotated Snippet
module_init(dm_verity_init);
static void __exit dm_verity_exit(void)
{
dm_unregister_target(&verity_target);
dm_verity_verify_sig_exit();
}
module_exit(dm_verity_exit);
/*
* Check whether a DM target is a verity target.
*/
bool dm_is_verity_target(struct dm_target *ti)
{
return ti->type == &verity_target;
}
MODULE_AUTHOR("Mikulas Patocka <mpatocka@redhat.com>");
MODULE_AUTHOR("Mandeep Baines <msb@chromium.org>");
MODULE_AUTHOR("Will Drewry <wad@chromium.org>");
MODULE_DESCRIPTION(DM_NAME " target for transparent disk integrity checking");
MODULE_LICENSE("GPL");
Annotation
- Immediate include surface: `dm-verity.h`, `dm-verity-fec.h`, `dm-verity-verify-sig.h`, `dm-audit.h`, `linux/hex.h`, `linux/module.h`, `linux/reboot.h`, `linux/string.h`.
- Detected declarations: `struct dm_verity_prefetch_work`, `struct buffer_aux`, `function dm_bufio_alloc_callback`, `function verity_map_sector`, `function verity_position_at_level`, `function verity_hash`, `function verity_hash_at_level`, `function verity_handle_err`, `function block`, `function verity_hash_for_block`.
- Atlas domain: Driver Families / drivers/md.
- Implementation status: integration 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.