• Tariq Toukan's avatar
    net: remove redundant input checks in SIOCSIFTXQLEN case of dev_ifsioc · 8dd30201
    Tariq Toukan authored
    The cited patch added a call to dev_change_tx_queue_len in
    SIOCSIFTXQLEN case.
    This obsoletes the new len comparison check done before the function call.
    Remove it here.
    
    For the desicion of keep/remove the negative value check, we examine the
    range check in dev_change_tx_queue_len.
    On 64-bit we will fail with -ERANGE.  The 32-bit int ifr_qlen will be sign
    extended to 64-bits when it is passed into dev_change_tx_queue_len(). And
    then for negative values this test triggers:
    
    	if (new_len != (unsigned int)new_len)
    		return -ERANGE;
    
    because:
    	if (0xffffffffWHATEVER != 0x00000000WHATEVER)
    
    On 32-bit the signed value will be accepted, changing behavior.
    
    Therefore, the negative value check is kept.
    
    Fixes: 3f76df19 ("net: use dev_change_tx_queue_len() for SIOCSIFTXQLEN")
    Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
    Reviewed-by: default avatarEran Ben Elisha <eranbe@mellanox.com>
    Cc: Cong Wang <xiyou.wangcong@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8dd30201
dev_ioctl.c 11.6 KB