lkml.org 
[lkml]   [2022]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 096/389] wifi: rtlwifi: fix error codes in rtl_debugfs_set_write_h2c()
    Date
    From: Dan Carpenter <dan.carpenter@oracle.com>

    [ Upstream commit b88d28146c30a8e14f0f012d56ebf19b68a348f4 ]

    If the copy_from_user() fails or the user gives invalid date then the
    correct thing to do is to return a negative error code. (Currently it
    returns success).

    I made a copy additional related cleanups:
    1) There is no need to check "buffer" for NULL. That's handled by
    copy_from_user().
    2) The "h2c_len" variable cannot be negative because it is unsigned
    and because sscanf() does not return negative error codes.

    Fixes: 610247f46feb ("rtlwifi: Improve debugging by using debugfs")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Kalle Valo <kvalo@kernel.org>
    Link: https://lore.kernel.org/r/YoOLnDkHgVltyXK7@kili
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/realtek/rtlwifi/debug.c | 8 ++++----
    1 file changed, 4 insertions(+), 4 deletions(-)

    diff --git a/drivers/net/wireless/realtek/rtlwifi/debug.c b/drivers/net/wireless/realtek/rtlwifi/debug.c
    index 55db71c766fe..ec0da33da4f8 100644
    --- a/drivers/net/wireless/realtek/rtlwifi/debug.c
    +++ b/drivers/net/wireless/realtek/rtlwifi/debug.c
    @@ -349,8 +349,8 @@ static ssize_t rtl_debugfs_set_write_h2c(struct file *filp,

    tmp_len = (count > sizeof(tmp) - 1 ? sizeof(tmp) - 1 : count);

    - if (!buffer || copy_from_user(tmp, buffer, tmp_len))
    - return count;
    + if (copy_from_user(tmp, buffer, tmp_len))
    + return -EFAULT;

    tmp[tmp_len] = '\0';

    @@ -360,8 +360,8 @@ static ssize_t rtl_debugfs_set_write_h2c(struct file *filp,
    &h2c_data[4], &h2c_data[5],
    &h2c_data[6], &h2c_data[7]);

    - if (h2c_len <= 0)
    - return count;
    + if (h2c_len == 0)
    + return -EINVAL;

    for (i = 0; i < h2c_len; i++)
    h2c_data_packed[i] = (u8)h2c_data[i];
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-23 13:23    [W:3.434 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site