lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 342/717] block/rnbd: fix a null pointer dereference on dev->blk_symlink_name
    Date
    From: Colin Ian King <colin.king@canonical.com>

    [ Upstream commit 733c15bd3a944b8eeaacdddf061759b6a83dd3f4 ]

    Currently in the case where dev->blk_symlink_name fails to be allocates
    the error return path attempts to set an end-of-string character to
    the unallocated dev->blk_symlink_name causing a null pointer dereference
    error. Fix this by returning with an explicity ENOMEM error (which also
    is missing in the original code as was not initialized).

    Fixes: 1eb54f8f5dd8 ("block/rnbd: client: sysfs interface functions")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Addresses-Coverity: ("Dereference after null check")
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/block/rnbd/rnbd-clt-sysfs.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/block/rnbd/rnbd-clt-sysfs.c b/drivers/block/rnbd/rnbd-clt-sysfs.c
    index b53df40c9a97f..d854f057056bb 100644
    --- a/drivers/block/rnbd/rnbd-clt-sysfs.c
    +++ b/drivers/block/rnbd/rnbd-clt-sysfs.c
    @@ -494,7 +494,7 @@ static int rnbd_clt_add_dev_symlink(struct rnbd_clt_dev *dev)
    dev->blk_symlink_name = kzalloc(len, GFP_KERNEL);
    if (!dev->blk_symlink_name) {
    rnbd_clt_err(dev, "Failed to allocate memory for blk_symlink_name\n");
    - goto out_err;
    + return -ENOMEM;
    }

    ret = rnbd_clt_get_path_name(dev, dev->blk_symlink_name,
    --
    2.27.0


    \
     
     \ /
      Last update: 2020-12-28 15:54    [W:4.017 / U:1.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site