Re: [PATCH][V2] net: lio_core: fix potential sign-extension overflow on large shift

From: David Miller
Date: Tue Jun 18 2019 - 21:06:43 EST


From: Colin King <colin.king@xxxxxxxxxxxxx>
Date: Mon, 17 Jun 2019 17:12:49 +0100

> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> Left shifting the signed int value 1 by 31 bits has undefined behaviour
> and the shift amount oq_no can be as much as 63. Fix this by using
> BIT_ULL(oq_no) instead.
>
> Addresses-Coverity: ("Bad shift operation")
> Fixes: f21fb3ed364b ("Add support of Cavium Liquidio ethernet adapters")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> ---
>
> V2: Use BIT_ULL(oq_no) instead of 1ULL << oq_no. Thanks to Dan Carpenter for
> noting this is more appropriate.

Applied.