mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
iommu/arm-smmu-v3: Fix error check in arm_smmu_alloc_cd_tables
In arm_smmu_alloc_cd_tables(), the error check following the
dma_alloc_coherent() for cd_table->l2.l1tab incorrectly tests
cd_table->l2.l2ptrs.
This means an allocation failure for l1tab goes undetected, causing
the function to return 0 (success) erroneously.
Correct the check to test cd_table->l2.l1tab.
Fixes: e3b1be2e73 ("iommu/arm-smmu-v3: Reorganize struct arm_smmu_ctx_desc_cfg")
Signed-off-by: Daniel Mentz <danielmentz@google.com>
Signed-off-by: Ryan Huang <tzukui@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Pranjal Shrivastava <praan@google.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
parent
617937d4d5
commit
5941f0e0c1
|
|
@ -1464,7 +1464,7 @@ static int arm_smmu_alloc_cd_tables(struct arm_smmu_master *master)
|
|||
cd_table->l2.l1tab = dma_alloc_coherent(smmu->dev, l1size,
|
||||
&cd_table->cdtab_dma,
|
||||
GFP_KERNEL);
|
||||
if (!cd_table->l2.l2ptrs) {
|
||||
if (!cd_table->l2.l1tab) {
|
||||
ret = -ENOMEM;
|
||||
goto err_free_l2ptrs;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user