[PATCH 0/2] Fix truncation warnings from building test_scanf.c

Richard Fitzgerald
2021-05-24T16:09:23Z

The kernel test robot is reporting truncation warnings when building
lib/test_scanf.c:

1) lib/test_scanf.c:250:9: sparse: sparse: cast truncates bits from
constant value (ffff0001 becomes 1)
Reported on several lines.

2) include/linux/prandom.h:114:45: sparse: sparse: cast truncates bits
from constant value (4f2e5357408c3c09 becomes 408c3c09)

(1) is caused by test_scanf.c using type_min() on an unsigned type. The
type_min() macro calculates -type_max() - 1, so is only meaningful for
signed types.

(2) is caused by prandom_seed_state() storing a modified u64 seed value
into a u32 - sparse will warn that this causes a truncation.

The two patches in this series fix these problems.

Richard Fitzgerald (2):
lib: test_scanf: Fix incorrect use of type_min() with unsigned types
random32: Fix implicit truncation warning in prandom_seed_state()

include/linux/prandom.h | 2 +-
lib/test_scanf.c | 13 ++++++-------
2 files changed, 7 insertions(+), 8 deletions(-)

--
2.20.1