Re: [PATCH 1/1] iommu: to avoid an unnecessary assignment

From: Robin Murphy
Date: Fri Feb 03 2017 - 06:34:47 EST


On 03/02/17 09:35, Zhen Lei wrote:
> Move the assignment statement into if branch above, where it only
> needs to be.
>
> Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx>
> ---
> drivers/iommu/iommu.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
> index dbe7f65..b231400 100644
> --- a/drivers/iommu/iommu.c
> +++ b/drivers/iommu/iommu.c
> @@ -1714,13 +1714,14 @@ int iommu_fwspec_add_ids(struct device *dev, u32 *ids, int num_ids)
> fwspec = krealloc(dev->iommu_fwspec, size, GFP_KERNEL);
> if (!fwspec)
> return -ENOMEM;
> +
> + dev->iommu_fwspec = fwspec;
> }
>
> for (i = 0; i < num_ids; i++)
> fwspec->ids[fwspec->num_ids + i] = ids[i];
>
> fwspec->num_ids += num_ids;
> - dev->iommu_fwspec = fwspec;

Strictly, it was done here because I like following transactional
idioms, i.e. at any point dev->fwspec is either the old one or the
fully-initialised new one. However, since the state of the new one
immediately after realloc isn't uninitialised, but still directly
equivalent to the old one, I don't see an issue with moving the
assignemnt there, plus it does avoid a redundant reassignment the first
time through.

Reviewed-by: Robin Murphy <robin.murphy@xxxxxxx>

> return 0;
> }
> EXPORT_SYMBOL_GPL(iommu_fwspec_add_ids);
> --
> 2.5.0
>
>
> _______________________________________________
> iommu mailing list
> iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx
> https://lists.linuxfoundation.org/mailman/listinfo/iommu
>