iommufd/selftest: Fix page-size check in iommufd_test_dirty()
mainline inclusion from mainline-v6.7-rc1 commit 2e22aac3ea9cfc0ec3209c96644f60c1806a8117 category: feature bugzilla: https://gitee.com/openeuler/intel-kernel/issues/I8Y6AM CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?2e22aac3ea9cfc0ec3209c96644f60c1806a8117 -------------------------------- iommufd_test_dirty()/IOMMU_TEST_OP_DIRTY sets the dirty bits in the mock domain implementation that the userspace side validates against what it obtains via the UAPI. However in introducing iommufd_test_dirty() it forgot to validate page_size being 0 leading to two possible divide-by-zero problems: one at the beginning when calculating @max and while calculating the IOVA in the XArray PFN tracking list. While at it, validate the length to require non-zero value as well, as we can't be allocating a 0-sized bitmap. Intel-SIG: 2e22aac3ea9c iommufd/selftest: Fix page-size check in iommufd_test_dirty() Backport IOMMUFD Dirty Tracking Link: https://lore.kernel.org/r/20231030113446.7056-1-joao.m.martins@oracle.com Reported-by:<syzbot+25dc7383c30ecdc83c38@syzkaller.appspotmail.com> Closes: https://lore.kernel.org/linux-iommu/00000000000005f6aa0608b9220f@google.com/ Fixes: a9af47e382a4 ("iommufd/selftest: Test IOMMU_HWPT_GET_DIRTY_BITMAP") Signed-off-by:
Joao Martins <joao.m.martins@oracle.com> Signed-off-by:
Jason Gunthorpe <jgg@nvidia.com> [ jz: amend commit log ] Signed-off-by:
Jason Zeng <jason.zeng@intel.com>
Loading
Please sign in to comment