2020-03-02 02:57:58

by Anson Huang

[permalink] [raw]
Subject: [PATCH] thermal: imx_sc_thermal: Align imx sc thermal msg structs to 4

The i.MX SCU API strongly assumes that messages are composed out
of 4-bytes words but some of our message structs have odd sizeofs,
use __packed __aligned(4) to avoid potential oopses.

Signed-off-by: Anson Huang <[email protected]>
---
This patch is based on https://patchwork.kernel.org/patch/11397719/ which is accepted.
---
drivers/thermal/imx_sc_thermal.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/thermal/imx_sc_thermal.c b/drivers/thermal/imx_sc_thermal.c
index 4955dfd..dbb277a 100644
--- a/drivers/thermal/imx_sc_thermal.c
+++ b/drivers/thermal/imx_sc_thermal.c
@@ -27,12 +27,12 @@ struct imx_sc_sensor {
struct req_get_temp {
u16 resource_id;
u8 type;
-} __packed;
+} __packed __aligned(4);

struct resp_get_temp {
u16 celsius;
u8 tenths;
-} __packed;
+} __packed __aligned(4);

struct imx_sc_msg_misc_get_temp {
struct imx_sc_rpc_msg hdr;
@@ -40,7 +40,7 @@ struct imx_sc_msg_misc_get_temp {
struct req_get_temp req;
struct resp_get_temp resp;
} data;
-};
+} __packed __aligned(4);

static int imx_sc_thermal_get_temp(void *data, int *temp)
{
--
2.7.4


2020-03-02 08:55:55

by Daniel Lezcano

[permalink] [raw]
Subject: Re: [PATCH] thermal: imx_sc_thermal: Align imx sc thermal msg structs to 4

On 02/03/2020 03:51, Anson Huang wrote:
> The i.MX SCU API strongly assumes that messages are composed out
> of 4-bytes words but some of our message structs have odd sizeofs,
> use __packed __aligned(4) to avoid potential oopses.
>
> Signed-off-by: Anson Huang <[email protected]>
> ---

Applied, thanks


--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog