Messages in this thread | | | Subject | Re: [PATCH 1/1] iommu: to avoid an unnecessary assignment | From | Robin Murphy <> | Date | Fri, 3 Feb 2017 11:34:38 +0000 |
| |
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@huawei.com> > --- > 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@arm.com>
> return 0; > } > EXPORT_SYMBOL_GPL(iommu_fwspec_add_ids); > -- > 2.5.0 > > > _______________________________________________ > iommu mailing list > iommu@lists.linux-foundation.org > https://lists.linuxfoundation.org/mailman/listinfo/iommu >
| |