| From caab694d3a1a1e940d5ecaa568a06c91435e242b Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 15 Oct 2024 19:18:26 +0200 |
| Subject: tools/lib/thermal: Fix sampling handler context ptr |
| |
| From: Emil Dahl Juhl <emdj@bang-olufsen.dk> |
| |
| [ Upstream commit fcd54cf480c87b96313a97dbf898c644b7bb3a2e ] |
| |
| 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> |
| Link: https://lore.kernel.org/r/20241015171826.170154-1-emdj@bang-olufsen.dk |
| Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| tools/lib/thermal/sampling.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/tools/lib/thermal/sampling.c b/tools/lib/thermal/sampling.c |
| index 70577423a9f0c..f67c1f9ea1d78 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) { |
| -- |
| 2.43.0 |
| |