Re: [PATCH v1 1/1] lib/test_scanf: Handle n_bits == 0 in random tests

From: Richard Fitzgerald
Date: Tue Jul 27 2021 - 11:58:27 EST


On 27/07/2021 16:01, Andy Shevchenko wrote:
UBSAN reported (via LKP)

[ 11.021349][ T1] UBSAN: shift-out-of-bounds in lib/test_scanf.c:275:51
[ 11.022782][ T1] shift exponent 32 is too large for 32-bit type 'unsigned int'

When n_bits == 0, the shift is out of range. Switch code to use GENMASK
to handle this case.

Fixes: 50f530e176ea ("lib: test_scanf: Add tests for sscanf number conversion")
Reported-by: kernel test robot <oliver.sang@xxxxxxxxx>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
---

Reviewed-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>

Sorry about that. Would have been sensible to use GENMASK anyway.