[PATCH] intel_th: msu-sink: reduce priv allocation to 1
From: Rosen Penev
Date: Thu Mar 19 2026 - 20:56:53 EST
Simpler to use a flexible array member and kzalloc_flex.
Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
---
drivers/hwtracing/intel_th/msu-sink.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/drivers/hwtracing/intel_th/msu-sink.c b/drivers/hwtracing/intel_th/msu-sink.c
index b809a7f805a9..608d0f3d9e1a 100644
--- a/drivers/hwtracing/intel_th/msu-sink.c
+++ b/drivers/hwtracing/intel_th/msu-sink.c
@@ -15,24 +15,18 @@
struct msu_sink_private {
struct device *dev;
- struct sg_table **sgts;
unsigned int nr_sgts;
+ struct sg_table *sgts[];
};
static void *msu_sink_assign(struct device *dev, int *mode)
{
struct msu_sink_private *priv;
- priv = kzalloc_obj(*priv);
+ priv = kzalloc_flex(*priv, sgts, MAX_SGTS, GFP_KERNEL);
if (!priv)
return NULL;
- priv->sgts = kcalloc(MAX_SGTS, sizeof(void *), GFP_KERNEL);
- if (!priv->sgts) {
- kfree(priv);
- return NULL;
- }
-
priv->dev = dev;
*mode = MSC_MODE_MULTI;
@@ -43,7 +37,6 @@ static void msu_sink_unassign(void *data)
{
struct msu_sink_private *priv = data;
- kfree(priv->sgts);
kfree(priv);
}
--
2.53.0