Messages in this thread | | | Date | Mon, 29 Nov 2021 15:42:56 +0000 | From | Jean-Philippe Brucker <> | Subject | Re: [PATCH v2 4/5] iommu/virtio: Pass end address to viommu_add_mapping() |
| |
On Sat, Nov 27, 2021 at 06:09:56PM -0500, Michael S. Tsirkin wrote: > > > -static int viommu_add_mapping(struct viommu_domain *vdomain, unsigned long iova, > > > - phys_addr_t paddr, size_t size, u32 flags) > > > +static int viommu_add_mapping(struct viommu_domain *vdomain, u64 iova, u64 end, > > > + phys_addr_t paddr, u32 flags) > > > { > > > unsigned long irqflags; > > > struct viommu_mapping *mapping; > > I am worried that API changes like that will cause subtle > bugs since types of arguments change but not their > number. If we forgot to update some callers it will all be messed up. > > How about passing struct Range instead?
I gave struct range a try but it looks messier overall since it would only be used to pass arguments. I think the update is safe enough because there is one caller for viommu_add_mapping() and two for viommu_del_mappings(), at the moment.
Thanks, Jean
| |