Re: [PATCH] amd-xgbe: fix unsigned comparison against less than zero
From: Tom Lendacky
Date: Tue Nov 15 2016 - 09:24:55 EST
On 11/15/2016 6:18 AM, Colin King wrote:
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> Comparing unsigned int ret to less than zero for an error status
> check is never true. Fix this by making ret a signed int. Reduce
> scope of ret too.
>
> Found with static analysis by CoverityScan, CID 1377750
Thanks Colin, this was already identified by someone else and I
submitted the patch yesterday.
Thanks,
Tom
>
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> ---
> drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
> index 4ba4332..168507e 100644
> --- a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
> +++ b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
> @@ -2346,7 +2346,7 @@ static bool xgbe_phy_valid_speed(struct xgbe_prv_data *pdata, int speed)
> static int xgbe_phy_link_status(struct xgbe_prv_data *pdata, int *an_restart)
> {
> struct xgbe_phy_data *phy_data = pdata->phy_data;
> - unsigned int ret, reg;
> + unsigned int reg;
>
> *an_restart = 0;
>
> @@ -2365,7 +2365,8 @@ static int xgbe_phy_link_status(struct xgbe_prv_data *pdata, int *an_restart)
>
> if (phy_data->phydev) {
> /* Check external PHY */
> - ret = phy_read_status(phy_data->phydev);
> + int ret = phy_read_status(phy_data->phydev);
> +
> if (ret < 0)
> return 0;
>
>