diff options
author | Leonard Crestez <leonard.crestez@nxp.com> | 2020-02-20 19:29:34 +0300 |
---|---|---|
committer | Shawn Guo <shawnguo@kernel.org> | 2020-02-24 10:26:44 +0300 |
commit | 1e6a4eba693ac72e6f91b4252458c933110e5f4c (patch) | |
tree | 05a964753f9e07bf77e9b0542410b649a41d8f9b /drivers/firmware/imx | |
parent | 26d0fba29c96241de8a9d16f045b1de49875884c (diff) | |
download | linux-1e6a4eba693ac72e6f91b4252458c933110e5f4c.tar.xz |
firmware: imx: misc: Align imx sc msg structs to 4
The imx SC api strongly assumes that messages are composed out of
4-bytes words but some of our message structs have odd sizeofs.
This produces many oopses with CONFIG_KASAN=y:
BUG: KASAN: stack-out-of-bounds in imx_mu_send_data+0x108/0x1f0
It shouldn't cause an issues in normal use because these structs are
always allocated on the stack.
Fixes: 15e1f2bc8b3b ("firmware: imx: add misc svc support")
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Diffstat (limited to 'drivers/firmware/imx')
-rw-r--r-- | drivers/firmware/imx/misc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/firmware/imx/misc.c b/drivers/firmware/imx/misc.c index 4b56a587dacd..6a21ff942f82 100644 --- a/drivers/firmware/imx/misc.c +++ b/drivers/firmware/imx/misc.c @@ -16,7 +16,7 @@ struct imx_sc_msg_req_misc_set_ctrl { u32 ctrl; u32 val; u16 resource; -} __packed; +} __packed __aligned(4); struct imx_sc_msg_req_cpu_start { struct imx_sc_rpc_msg hdr; @@ -30,12 +30,12 @@ struct imx_sc_msg_req_misc_get_ctrl { struct imx_sc_rpc_msg hdr; u32 ctrl; u16 resource; -} __packed; +} __packed __aligned(4); struct imx_sc_msg_resp_misc_get_ctrl { struct imx_sc_rpc_msg hdr; u32 val; -} __packed; +} __packed __aligned(4); /* * This function sets a miscellaneous control value. |