]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
dmaengine: idxd: cdev: Fix uninitialized use of sva in idxd_cdev_open
authorPurva Yeshi <purvayeshi550@gmail.com>
Thu, 10 Apr 2025 11:02:16 +0000 (16:32 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Jun 2025 12:45:09 +0000 (14:45 +0200)
commitfc24595253c4b4707ccc4017199f48aff0dddf98
treead2721f4427e6aacc3fcd4fb4b2e24869bc0c86d
parent536f763c0e611854ddcc5d49f779b3024ad426e1
dmaengine: idxd: cdev: Fix uninitialized use of sva in idxd_cdev_open

[ Upstream commit 97994333de2b8062d2df4e6ce0dc65c2dc0f40dc ]

Fix Smatch-detected issue:
drivers/dma/idxd/cdev.c:321 idxd_cdev_open() error:
uninitialized symbol 'sva'.

'sva' pointer may be used uninitialized in error handling paths.
Specifically, if PASID support is enabled and iommu_sva_bind_device()
returns an error, the code jumps to the cleanup label and attempts to
call iommu_sva_unbind_device(sva) without ensuring that sva was
successfully assigned. This triggers a Smatch warning about an
uninitialized symbol.

Initialize sva to NULL at declaration and add a check using
IS_ERR_OR_NULL() before unbinding the device. This ensures the
function does not use an invalid or uninitialized pointer during
cleanup.

Signed-off-by: Purva Yeshi <purvayeshi550@gmail.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Acked-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Link: https://lore.kernel.org/r/20250410110216.21592-1-purvayeshi550@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/dma/idxd/cdev.c