iommu_attach_group_handle(9)
okay bestie, welcome to the iommu_attach_group_handle(9) page from the Kernel API Manual πβ¨ this one is all about attaching an IOMMU domain to an IOMMU group, and itβs lowkey iconic for fault delivery. letβs get into it.
πΈ NAME πΈ
iommu_attach_group_handle β Attach an IOMMU domain to an IOMMU group π
β¨ SYNOPSIS β¨
the whole vibe:
int iommu_attach_group_handle (struct iommu_domain *domain , struct
iommu_group *group , struct iommu_attach_handle *handle );
π ARGUMENTS π
domainβ the IOMMU domain youβre attaching, periodt.groupβ the IOMMU group that will be attached, no cap.handleβ the attach handle. keep it new, bestie, weβll get to that.
π¦ DESCRIPTION π¦
okay so first thing: this returns 0 on success and error code on failure. thatβs the whole mood β
this is a variant of iommu_attach_group. it lets the caller provide an attach handle and use it when the domain is attached. this is currently used by IOMMUFD to deliver the I/O page faults π
caller should always provide a new handle to avoid race with the paths that have lockless reference to handle. not me stressing this, but bestie please listen: new handle, always. this is a real race-avoidance warning, fr fr β οΈ
π SEE ALSO π
Kernel file: ./drivers/iommu/iommu.c
the whole friend group:
iommu_device_register(9)iommu_insert_resv_region(9)iommu_group_alloc(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_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, bestie! this lil manual page comes from the source/version ./drivers/iommu, dated October 2026. slay, go attach responsibly ππ
π¦ 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