lkml.org 
[lkml]   [2020]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 73/99] iwlegacy: ensure loop counter addr does not wrap and cause an infinite loop
    3.16.84-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Colin Ian King <colin.king@canonical.com>

    commit c2f9a4e4a5abfc84c01b738496b3fd2d471e0b18 upstream.

    The loop counter addr is a u16 where as the upper limit of the loop
    is an int. In the unlikely event that the il->cfg->eeprom_size is
    greater than 64K then we end up with an infinite loop since addr will
    wrap around an never reach upper loop limit. Fix this by making addr
    an int.

    Addresses-Coverity: ("Infinite loop")
    Fixes: be663ab67077 ("iwlwifi: split the drivers for agn and legacy devices 3945/4965")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Acked-by: Stanislaw Gruszka <stf_xl@wp.pl>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    [bwh: Backported to 3.16: adjust filename]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/net/wireless/iwlegacy/common.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/net/wireless/iwlegacy/common.c
    +++ b/drivers/net/wireless/iwlegacy/common.c
    @@ -717,7 +717,7 @@ il_eeprom_init(struct il_priv *il)
    u32 gp = _il_rd(il, CSR_EEPROM_GP);
    int sz;
    int ret;
    - u16 addr;
    + int addr;

    /* allocate eeprom */
    sz = il->cfg->eeprom_size;
    \
     
     \ /
      Last update: 2020-05-20 16:26    [W:4.184 / U:0.592 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site