From b8741496c058c6d65d09799081158d1593554638 Mon Sep 17 00:00:00 2001 From: Qasim Ijaz Date: Fri, 14 Mar 2025 23:01:02 +0000 Subject: [PATCH] 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 Reviewed-by: Alyssa Rosenzweig Link: https://lore.kernel.org/r/20250314230102.11008-1-qasdev00@gmail.com Signed-off-by: Joerg Roedel --- drivers/iommu/apple-dart.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/iommu/apple-dart.c b/drivers/iommu/apple-dart.c index 13ccb801f52a..e13501541fdd 100644 --- a/drivers/iommu/apple-dart.c +++ b/drivers/iommu/apple-dart.c @@ -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;