lkml.org 
[lkml]   [2020]   [Mar]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 141/168] firmware: imx: misc: Align imx sc msg structs to 4
    Date
    From: Leonard Crestez <leonard.crestez@nxp.com>

    commit 1e6a4eba693ac72e6f91b4252458c933110e5f4c upstream.

    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>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/firmware/imx/misc.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    --- 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.

    \
     
     \ /
      Last update: 2020-03-10 14:40    [W:4.332 / U:0.504 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site