Commit b8741496 authored by Qasim Ijaz's avatar Qasim Ijaz Committed by Joerg Roedel
Browse files

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: 3bc01028 ("iommu: apple-dart: Allow mismatched bypass support")
Signed-off-by: default avatarQasim Ijaz <qasdev00@gmail.com>
Reviewed-by: default avatarAlyssa Rosenzweig <alyssa@rosenzweig.io>
Link: https://lore.kernel.org/r/20250314230102.11008-1-qasdev00@gmail.com


Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent 3bc01028
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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;