iommu_group_alloc(9)
π iommu_group_alloc β a kernel API manual moment, but make it a group chat
okay so bestie, welcome to iommu_group_alloc(9) from the Kernel API Manual π genuinely iconic territory. Strap in, we're allocating.
β¨ NAME β¨
iommu_group_alloc β Allocate a new group π
πΈ SYNOPSIS πΈ
struct iommu_group * iommu_group_alloc (void );
π¦ ARGUMENTS π¦
voidβ no arguments. literally none. zero. the void is voiding π«Ά
π DESCRIPTION π
k so picture this: this function is called by an iommu driver to allocate a new iommu group π and here's the tea β the iommu group represents the minimum granularity of the iommu. that's the whole vibe. that's the point of it.
Upon successful return, the caller holds a reference to the supplied group, and the reason it does that is to hold the group until devices are added. like, it's keeping it alive for you so nobody snatches it away mid-setup π₯
then when you're done being extra, use iommu_group_put to release this extra reference count β which allows the group to be automatically reclaimed once it has no devices or external references. cute, right? it cleans itself up. self-care fr fr π
ngl bestie, don't forget that iommu_group_put β that's the difference between main character energy and a leak π
π§ SEE ALSO π§
kernel file ./drivers/iommu/iommu.c β and the whole squad, in this exact order, no cap:
iommu_device_register(9)iommu_insert_resv_region(9)iommu_group_get_iommudata(9)iommu_group_set_iommudata(9)iommu_group_set_name(9)iommu_group_add_device(9)iommu_group_remove_device(9)iommu_group_mutex_assert(9)iommu_group_for_each_dev(9)iommu_group_get(9)iommu_group_ref_get(9)iommu_group_put(9)iommu_group_id(9)device_iommu_capable(9)iommu_group_has_isolated_msi(9)iommu_set_fault_handler(9)iommu_paging_domain_alloc_flags(9)iommu_attach_device(9)iommu_get_domain_for_dev(9)iommu_driver_get_domain_for_dev(9)iommu_attach_group(9)iommu_unmap(9)iommu_unmap_fast(9)report_iommu_fault(9)iommu_get_resv_regions(9)iommu_put_resv_regions(9)iommu_setup_default_domain(9)iommu_device_use_default_domain(9)iommu_device_unuse_default_domain(9)iommu_group_claim_dma_owner(9)iommu_device_claim_dma_owner(9)iommu_group_release_dma_owner(9)iommu_device_release_dma_owner(9)iommu_group_dma_owner_claimed(9)iommu_replace_device_pasid(9)iommu_attach_handle_get(9)iommu_attach_group_handle(9)iommu_detach_group_handle(9)iommu_replace_group_handle(9)pci_dev_reset_iommu_prepare(9)pci_dev_reset_iommu_done(9)iommu_dma_prepare_msi(9)
okay that's the page!! tysm for reading, it's giving documentation but make it slay π β¨
sign-off time: this one lives in the source tree at ./drivers/iommu, dated October 2026, and it's iommu_group_alloc(9) β remember the name bestie ππ¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms