iommu: apple-dart: fix potential null pointer deref
Subsystems (2)
PATCH 1/1 iommu: apple-dart: fix potential null pointer deref
If kzalloc() fails, accessing cfg->supports_bypass causes a null pointer dereference.
Fix by checking for NULL immediately after allocation and returning -ENOMEM.
Fixes 3bc0102835f6 ("iommu: apple-dart: Allow mismatched bypass support")
Signed-off-by Qasim Ijaz <[email protected]>
--- drivers/iommu/apple-dart.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
drivers/iommu/apple-dart.c +2 -3
@@ -797,12 +797,11 @@ static int apple_dart_of_xlate(struct device *dev,if (!cfg) { cfg =kzalloc (sizeof (*cfg),GFP_KERNEL ); - +if (!cfg) +return -ENOMEM ;/* Will be ANDed with DART capabilities */ cfg->supports_bypass = true; } -if (!cfg) -return -ENOMEM ;dev_iommu_priv_set (dev, cfg); cfg_dart = cfg->stream_maps[0 ].dart;
Signature · 1 line
2.39.5
Reviewed-by Alyssa Rosenzweig <[email protected]>
Quoted 32 lines · Qasim Ijaz
If
kzalloc()fails, accessingcfg->supports_bypasscauses a null pointer dereference.Fix by checking for NULL immediately after allocation and returning
-ENOMEM.Fixes 3bc0102835f6 ("iommu: apple-dart: Allow mismatched bypass support")Signed-off-by Qasim Ijaz <[email protected]>--- drivers/iommu/apple-dart.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)drivers/iommu/apple-dart.c +2
-3@@ -797,12 +797,11 @@ static int apple_dart_of_xlate(struct device *dev,if (!cfg) { cfg =kzalloc (sizeof (*cfg),GFP_KERNEL ); - +if (!cfg) +return -ENOMEM ;/* Will be ANDed with DART capabilities */ cfg->supports_bypass = true; } -if (!cfg) -return -ENOMEM ;dev_iommu_priv_set (dev, cfg); cfg_dart = cfg->stream_maps[0 ].dart;Signature · 1 line
2.39.5