[PATCH] fpga: dfl: dfl-fme-perf: check devm_kasprintf() return value
William Theesfeld <[email protected]> Mon, 1 Jun 2026 16:45:38 -0400
| Newsgroups | org.kernel.vger.linux-fpga,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> --- 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