diff options
author | Jean-Philippe Brucker <jean-philippe.brucker@arm.com> | 2019-06-12 20:59:38 +0300 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2019-06-18 18:14:35 +0300 |
commit | 58b55c859ac00c6845b6aed8852c541bc204c935 (patch) | |
tree | b65de7a000f95abed1de8872bf90731508347411 /include/uapi/linux | |
parent | bf3255b3cfe2d06280340dbac3f44b65d3ee6da3 (diff) | |
download | linux-58b55c859ac00c6845b6aed8852c541bc204c935.tar.xz |
iommu: Add padding to struct iommu_fault
Ease future extensions of struct iommu_fault_page_request and struct
iommu_fault_unrecoverable by adding a few bytes of padding. That way, a
new field can be added to either of these structures by simply introducing
a new flag. To extend it after the size limit is reached, a new fault
reporting structure will have to be negotiated with userspace.
With 56 bytes of padding, the total size of iommu_fault is 64 bytes and
fits in a cache line on a lot of contemporary machines, while providing 16
and 24 bytes of extension to structures iommu_fault_page_request and
iommu_fault_unrecoverable respectively.
Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Acked-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r-- | include/uapi/linux/iommu.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/uapi/linux/iommu.h b/include/uapi/linux/iommu.h index f45d8e9e59c3..fc00c5d4741b 100644 --- a/include/uapi/linux/iommu.h +++ b/include/uapi/linux/iommu.h @@ -106,6 +106,7 @@ struct iommu_fault_page_request { * @padding: reserved for future use (should be zero) * @event: fault event, when @type is %IOMMU_FAULT_DMA_UNRECOV * @prm: Page Request message, when @type is %IOMMU_FAULT_PAGE_REQ + * @padding2: sets the fault size to allow for future extensions */ struct iommu_fault { __u32 type; @@ -113,6 +114,7 @@ struct iommu_fault { union { struct iommu_fault_unrecoverable event; struct iommu_fault_page_request prm; + __u8 padding2[56]; }; }; |