Message ID | 582b80361beb66bd1844fda785aac2e800155d64.1582216144.git.leonard.crestez@nxp.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | firmware: imx: Align imx SC msg structs to 4 | expand |
On Thu, Feb 20, 2020 at 06:29:34PM +0200, Leonard Crestez wrote: > 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> Applied, thanks.
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 @@ -14,11 +14,11 @@ struct imx_sc_msg_req_misc_set_ctrl { struct imx_sc_rpc_msg hdr; u32 ctrl; u32 val; u16 resource; -} __packed; +} __packed __aligned(4); struct imx_sc_msg_req_cpu_start { struct imx_sc_rpc_msg hdr; u32 address_hi; u32 address_lo; @@ -28,16 +28,16 @@ struct imx_sc_msg_req_cpu_start { 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. * * @param[in] ipc IPC handle
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> --- drivers/firmware/imx/misc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)