[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201008095550.GB2349275@ulmo>
Date: Thu, 8 Oct 2020 11:55:50 +0200
From: Thierry Reding <thierry.reding@...il.com>
To: Nicolin Chen <nicoleotsuka@...il.com>
Cc: joro@...tes.org, vdumpa@...dia.com, jonathanh@...dia.com,
digetx@...il.com, linux-tegra@...r.kernel.org,
iommu@...ts.linux-foundation.org, linux-kernel@...r.kernel.org,
hch@...radead.org
Subject: Re: [PATCH v4 1/2] iommu/tegra-smmu: Unwrap tegra_smmu_group_get
On Mon, Sep 28, 2020 at 11:13:24PM -0700, Nicolin Chen wrote:
> The tegra_smmu_group_get was added to group devices in different
> SWGROUPs and it'd return a NULL group pointer upon a mismatch at
> tegra_smmu_find_group(), so for most of clients/devices, it very
> likely would mismatch and need a fallback generic_device_group().
>
> But now tegra_smmu_group_get handles devices in same SWGROUP too,
> which means that it would allocate a group for every new SWGROUP
> or would directly return an existing one upon matching a SWGROUP,
> i.e. any device will go through this function.
>
> So possibility of having a NULL group pointer in device_group()
> is upon failure of either devm_kzalloc() or iommu_group_alloc().
> In either case, calling generic_device_group() no longer makes a
> sense. Especially for devm_kzalloc() failing case, it'd cause a
> problem if it fails at devm_kzalloc() yet succeeds at a fallback
> generic_device_group(), because it does not create a group->list
> for other devices to match.
>
> This patch simply unwraps the function to clean it up.
>
> Signed-off-by: Nicolin Chen <nicoleotsuka@...il.com>
> ---
>
> Changelog
> v2->v4:
> * N/A
> v1->v2:
> * Changed type of swgroup to "unsigned int", following Thierry's
> commnets.
>
> drivers/iommu/tegra-smmu.c | 19 ++++---------------
> 1 file changed, 4 insertions(+), 15 deletions(-)
Acked-by: Thierry Reding <treding@...dia.com>
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists