lkml.org 
[lkml]   [2022]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.10 029/116] HSI: core: Fix return freed object in hsi_new_client
    Date
    From: Chengfeng Ye <cyeaa@connect.ust.hk>

    [ Upstream commit a1ee1c08fcd5af03187dcd41dcab12fd5b379555 ]

    cl is freed on error of calling device_register, but this
    object is return later, which will cause uaf issue. Fix it
    by return NULL on error.

    Signed-off-by: Chengfeng Ye <cyeaa@connect.ust.hk>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/hsi/hsi_core.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/hsi/hsi_core.c b/drivers/hsi/hsi_core.c
    index a5f92e2889cb8..a330f58d45fc6 100644
    --- a/drivers/hsi/hsi_core.c
    +++ b/drivers/hsi/hsi_core.c
    @@ -102,6 +102,7 @@ struct hsi_client *hsi_new_client(struct hsi_port *port,
    if (device_register(&cl->device) < 0) {
    pr_err("hsi: failed to register client: %s\n", info->name);
    put_device(&cl->device);
    + goto err;
    }

    return cl;
    --
    2.34.1
    \
     
     \ /
      Last update: 2022-01-18 04:10    [W:3.367 / U:0.296 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site