[lvc-project] [PATCH v2] bnxt: avoid overflow in bnxt_get_nvram_directory()

Paolo Abeni pabeni at redhat.com
Tue Feb 21 12:34:30 MSK 2023


On Sun, 2023-02-19 at 15:14 +0100, Simon Horman wrote:
> On Sun, Feb 19, 2023 at 11:46:56AM +0300, Maxim Korotkov wrote:
> > The value of an arithmetic expression is subject
> > of possible overflow due to a failure to cast operands to a larger data
> > type before performing arithmetic. Used macro for multiplication instead
> > operator for avoiding overflow.
> > 
> > Found by Security Code and Linux Verification
> > Center (linuxtesting.org) with SVACE.
> > 
> > Fixes: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.")
> > Signed-off-by: Maxim Korotkov <korotkov.maxim.s at gmail.com>
> > Reviewed-by: Pavan Chebbi <pavan.chebbi at broadcom.com>
> 
> I agree that it is correct to use mul_u32_u32() for multiplication
> of two u32 entities where the result is 64bit, avoiding overflow.
> 
> And I agree that the fixes tag indicates the commit where the code
> in question was introduced.
> 
> However, it is not clear to me if this is a theoretical bug
> or one that can manifest in practice - I think it implies that
> buflen really can be > 4Gbytes.
> 
> And thus it is not clear to me if this patch should be for 'net' or
> 'net-next'.

... especially considered that both 'dir_entries' and 'entry_length'
are copied back to the user-space using a single byte each.

Cheers,

Paolo




More information about the lvc-project mailing list