diff mbox series

[RESEND] tools/lib/thermal: fix sampling handler context ptr

Message ID 20241015171826.170154-1-emdj@bang-olufsen.dk
State New
Headers show
Series [RESEND] tools/lib/thermal: fix sampling handler context ptr | expand

Commit Message

juhl.emildahl@gmail.com Oct. 15, 2024, 5:18 p.m. UTC
From: Emil Dahl Juhl <emdj@bang-olufsen.dk>

The sampling handler, provided by the user alongside a void* context,
was invoked with an internal structure instead of the user context.

Correct the invocation of the sampling handler to pass the user context
pointer instead.

Note that the approach taken is similar to that in events.c, and will
reduce the chances of this mistake happening if additional sampling
callbacks are added.

Fixes: 47c4b0de080a ("tools/lib/thermal: Add a thermal library")
Signed-off-by: Emil Dahl Juhl <emdj@bang-olufsen.dk>
---
 tools/lib/thermal/sampling.c | 2 ++
 1 file changed, 2 insertions(+)

--
2.45.0

Comments

Daniel Lezcano Oct. 17, 2024, 10:10 a.m. UTC | #1
On 15/10/2024 19:18, juhl.emildahl@gmail.com wrote:
> From: Emil Dahl Juhl <emdj@bang-olufsen.dk>
> 
> The sampling handler, provided by the user alongside a void* context,
> was invoked with an internal structure instead of the user context.
> 
> Correct the invocation of the sampling handler to pass the user context
> pointer instead.
> 
> Note that the approach taken is similar to that in events.c, and will
> reduce the chances of this mistake happening if additional sampling
> callbacks are added.
> 
> Fixes: 47c4b0de080a ("tools/lib/thermal: Add a thermal library")
> Signed-off-by: Emil Dahl Juhl <emdj@bang-olufsen.dk>
> ---

Applied, thanks
diff mbox series

Patch

diff --git a/tools/lib/thermal/sampling.c b/tools/lib/thermal/sampling.c
index 70577423a9f0..f67c1f9ea1d7 100644
--- a/tools/lib/thermal/sampling.c
+++ b/tools/lib/thermal/sampling.c
@@ -16,6 +16,8 @@  static int handle_thermal_sample(struct nl_msg *n, void *arg)
 	struct thermal_handler_param *thp = arg;
 	struct thermal_handler *th = thp->th;

+	arg = thp->arg;
+
 	genlmsg_parse(nlh, 0, attrs, THERMAL_GENL_ATTR_MAX, NULL);

 	switch (genlhdr->cmd) {