Skip to contentSkip to conversation

Coverity: get_md_pagetable(): Control flow issues

DISCUSSION coverity-bot 2 participants 2 messages Nov 2, 2022 Linux-next tree

lore
Share & tools
lore
#0 lore raw

Hello!

This is an experimental semi-automated report about issues detected by Coverity from a scan of next-20221102 as part of the linux-next scan project:
https://scan.coverity.com/projects/linux-next-weekly-scan

You're getting this email because you were associated with the identified lines of code (noted below) that were touched by commits:

Mon Oct 31 20:18:38 2022 -0300

    147393321d65 ("iommufd: Add a selftest")

Coverity reported the following:

*** CID 1527089: Control flow issues (UNREACHABLE) /drivers/iommu/iommufd/selftest.c: 248 in get_md_pagetable()

242     				 IOMMUFD_OBJ_HW_PAGETABLE);
243     	if (IS_ERR(obj))
244     		return ERR_CAST(obj);
245     	hwpt = container_of(obj, struct iommufd_hw_pagetable, obj);
246     	if (hwpt->domain->ops != mock_ops.default_domain_ops) {
247     		return ERR_PTR(-EINVAL);
vvv     CID 1527089:  Control flow issues  (UNREACHABLE)
vvv     This code cannot be reached: "iommufd_put_object(&hwpt->o...".
248     		iommufd_put_object(&hwpt->obj);
249     	}
250     	*mock = container_of(hwpt->domain, struct mock_iommu_domain, domain);
251     	return hwpt;
252     }

253

If this is a false positive, please let us know so we can mark it as such, or teach the Coverity rules to be smarter. If not, please make sure fixes get into linux-next. :) For patches fixing this, please include these lines (but double-check the "Fixes" first):

Addresses-Coverity-ID: 1527089 ("Control flow issues")

Fixes 147393321d65 ("iommufd: Add a selftest")

Thanks for your attention!

Signature · 1 line
Coverity-bot
#1 lore raw
Quoted 14 lines · coverity-bot

/drivers/iommu/iommufd/selftest.c: 248 in get_md_pagetable()

242     				 IOMMUFD_OBJ_HW_PAGETABLE);
243     	if (IS_ERR(obj))
244     		return ERR_CAST(obj);
245     	hwpt = container_of(obj, struct iommufd_hw_pagetable, obj);
246     	if (hwpt->domain->ops != mock_ops.default_domain_ops) {
247     		return ERR_PTR(-EINVAL);
vvv     CID 1527089:  Control flow issues  (UNREACHABLE)
vvv     This code cannot be reached: "iommufd_put_object(&hwpt->o...".
248     		iommufd_put_object(&hwpt->obj);
249     	}
250     	*mock = container_of(hwpt->domain, struct mock_iommu_domain, domain);
251     	return hwpt;
252     }
Quoted 6 lines

253

If this is a false positive, please let us know so we can mark it as such, or teach the Coverity rules to be smarter. If not, please make sure fixes get into linux-next. :) For patches fixing this, please include these lines (but double-check the "Fixes" first):

Yes, we already fixed this, thanks

Jason