STRUCT IOMMU_USER_DATA_ARRAY(9)
π struct iommu_user_data_array β Kernel API Manual β¨
okay so bestie, gather round, because this one is lowkey a whole vibe. it's from the Kernel API Manual, and it's literally the struct that describes an array of iommu driverβspecific user space data. yes, an array. not one, a whole squad. π«Ά
πΈ NAME πΈ
struct iommu_user_data_array β iommu driver specific user space data array
like, it's giving "user space sent us a whole list of requests and we gotta handle them all." periodt. π
π SYNOPSIS π
struct iommu_user_data_array {
unsigned int type;
void __user *uptr;
size_t entry_len;
u32 entry_num;
};
there she is. four members, zero notes, absolutely iconic. β
π¦ Members π¦
typeβ the data type of all the entries in the user buffer array. yes, every single one of them. no mixing and matching, bestie, they all gotta match. πuptrβ pointer to the user buffer array. it's the address where the whole lineup lives. πentry_lenβ the fixed-width length of an entry in the array, and it's measured in bytes. fixed-width means every entry is the same size, no cap. πentry_numβ the number of total entries in the array. the headcount. the whole roster. π’
π Description π
so the user buffer includes an array of requests, and the format of those requests is defined in include/uapi/linux/iommufd.h. that's the blueprint, the source of truth, the whole aesthetic. go look there if you want the actual layout, because that's where it lives. ποΈβ¨
π SEE ALSO π
Kernel file ./include/linux/iommu.h, plus the whole friend group:
struct iommu_fault_page_request(9)struct iommu_fault(9)enum iommu_page_response_code(9)struct iommu_page_response(9)struct iopf_queue(9)struct iommu_resv_region(9)struct iommu_iotlb_gather(9)struct iommu_dirty_bitmap(9)struct iommu_dirty_ops(9)struct iommu_user_data(9)__iommu_copy_struct_from_user(9)iommu_copy_struct_from_user(9)__iommu_copy_struct_from_user_array(9)iommu_copy_struct_from_user_array(9)iommu_copy_struct_from_full_user_array(9)__iommu_copy_struct_to_user(9)iommu_copy_struct_to_user(9)struct iommu_ops(9)struct iommu_domain_ops(9)struct iommu_device(9)struct iommu_fault_param(9)struct dev_iommu(9)iommu_iotlb_gather_is_disjoint(9)iommu_iotlb_gather_add_range(9)iommu_iotlb_gather_add_page(9)struct iommu_fwspec(9)struct iommu_sva(9)iommu_map_sgtable(9)
and that's the whole page, bestie, no crumbs left behind ππ
sign-off szn: this little beauty comes from ./include/linux and it's dated October 2026. manifesting that date being real for you. mwah. π§ββοΈπ«
π¦ 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