[PATCH] fpga: dfl: dfl-fme-perf: check devm_kasprintf() return value
From: William Theesfeld
Date: Mon Jun 01 2026 - 16:46:51 EST
fme_perf_pmu_register() passes the result of devm_kasprintf()
straight into perf_pmu_register() as the PMU name without checking
for NULL. devm_kasprintf() returns NULL on allocation failure;
perf_pmu_register() then stores that NULL as pmu->name, and later
sysfs path construction under /sys/bus/event_source/devices/
dereferences it.
Return -ENOMEM on devm_kasprintf() failure, matching the pattern
used by other PMU drivers such as qcom_l3_pmu.c.
Signed-off-by: William Theesfeld <william@xxxxxxxxxxxxx>
---
drivers/fpga/dfl-fme-perf.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/fpga/dfl-fme-perf.c b/drivers/fpga/dfl-fme-perf.c
index 7422d2bc6..db56d5241 100644
--- a/drivers/fpga/dfl-fme-perf.c
+++ b/drivers/fpga/dfl-fme-perf.c
@@ -925,6 +925,8 @@ static int fme_perf_pmu_register(struct platform_device *pdev,
PERF_PMU_CAP_NO_EXCLUDE;
name = devm_kasprintf(priv->dev, GFP_KERNEL, "dfl_fme%d", pdev->id);
+ if (!name)
+ return -ENOMEM;
ret = perf_pmu_register(pmu, name, -1);
if (ret)
--
2.54.0