CC: kbuild-...@lists.01.org
BCC: l...@intel.com
CC: linux-ker...@vger.kernel.org
TO: Kees Cook <keesc...@chromium.org>
CC: Vitor Massaru Iha <vi...@massaru.org>
CC: Daniel Latypov <dlaty...@google.com>
CC: David Gow <david...@google.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   59250f8a7f3a60a2661b84cbafc1e0eb5d05ec9b
commit: 617f55e20743fc50c989b498f9dee289eb644cfd lib: overflow: Convert to Kunit
date:   7 weeks ago
:::::: branch date: 19 hours ago
:::::: commit date: 7 weeks ago
config: riscv-randconfig-m031-20220416 
(https://download.01.org/0day-ci/archive/20220417/202204170138.hkc42n1r-...@intel.com/config)
compiler: riscv32-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>
Reported-by: Dan Carpenter <dan.carpen...@oracle.com>

New smatch warnings:
lib/overflow_kunit.c:341 overflow_shift_test() warn: '(_a_full << _to_shift)' 
32768 can't fit into 32767 '*_d'
lib/overflow_kunit.c:394 overflow_shift_test() warn: assigning 
18446744073709551611 to unsigned variable '*_d'

Old smatch warnings:
lib/overflow_kunit.c:350 overflow_shift_test() warn: '(_a_full << _to_shift)' 
69932 can't fit into 65535 '*_d'
lib/overflow_kunit.c:361 overflow_shift_test() warn: '(_a_full << _to_shift)' 
34966 can't fit into 32767 '*_d'
lib/overflow_kunit.c:370 overflow_shift_test() warn: '(_a_full << _to_shift)' 
300 can't fit into 127 '*_d'
lib/overflow_kunit.c:372 overflow_shift_test() warn: '(_a_full << _to_shift)' 
69932 can't fit into 32767 '*_d'
lib/overflow_kunit.c:382 overflow_shift_test() warn: '(_a_full << _to_shift)' 
65536 can't fit into 65535 '*_d'
lib/overflow_kunit.c:383 overflow_shift_test() warn: '(_a_full << _to_shift)' 
65535 can't fit into 32767 '*_d'
lib/overflow_kunit.c:393 overflow_shift_test() warn: '(_a_full << _to_shift)' 
18446744073709551611 can't fit into 32767 '*_d'
lib/overflow_kunit.c:394 overflow_shift_test() warn: '(_a_full << _to_shift)' 
18446744073709551611 can't fit into 65535 '*_d'

vim +341 lib/overflow_kunit.c

d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  289  
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  290   /* Sane shifts. 
*/
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  291   
TEST_ONE_SHIFT(1, 0, u8, 1 << 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  292   
TEST_ONE_SHIFT(1, 4, u8, 1 << 4, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  293   
TEST_ONE_SHIFT(1, 7, u8, 1 << 7, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  294   
TEST_ONE_SHIFT(0xF, 4, u8, 0xF << 4, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  295   
TEST_ONE_SHIFT(1, 0, u16, 1 << 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  296   
TEST_ONE_SHIFT(1, 10, u16, 1 << 10, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  297   
TEST_ONE_SHIFT(1, 15, u16, 1 << 15, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  298   
TEST_ONE_SHIFT(0xFF, 8, u16, 0xFF << 8, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  299   
TEST_ONE_SHIFT(1, 0, int, 1 << 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  300   
TEST_ONE_SHIFT(1, 16, int, 1 << 16, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  301   
TEST_ONE_SHIFT(1, 30, int, 1 << 30, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  302   
TEST_ONE_SHIFT(1, 0, s32, 1 << 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  303   
TEST_ONE_SHIFT(1, 16, s32, 1 << 16, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  304   
TEST_ONE_SHIFT(1, 30, s32, 1 << 30, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  305   
TEST_ONE_SHIFT(1, 0, unsigned int, 1U << 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  306   
TEST_ONE_SHIFT(1, 20, unsigned int, 1U << 20, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  307   
TEST_ONE_SHIFT(1, 31, unsigned int, 1U << 31, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  308   
TEST_ONE_SHIFT(0xFFFFU, 16, unsigned int, 0xFFFFU << 16, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  309   
TEST_ONE_SHIFT(1, 0, u32, 1U << 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  310   
TEST_ONE_SHIFT(1, 20, u32, 1U << 20, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  311   
TEST_ONE_SHIFT(1, 31, u32, 1U << 31, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  312   
TEST_ONE_SHIFT(0xFFFFU, 16, u32, 0xFFFFU << 16, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  313   
TEST_ONE_SHIFT(1, 0, u64, 1ULL << 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  314   
TEST_ONE_SHIFT(1, 40, u64, 1ULL << 40, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  315   
TEST_ONE_SHIFT(1, 63, u64, 1ULL << 63, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  316   
TEST_ONE_SHIFT(0xFFFFFFFFULL, 32, u64, 0xFFFFFFFFULL << 32, false);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  317  
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  318   /* Sane shift: 
start and end with 0, without a too-wide shift. */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  319   
TEST_ONE_SHIFT(0, 7, u8, 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  320   
TEST_ONE_SHIFT(0, 15, u16, 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  321   
TEST_ONE_SHIFT(0, 31, unsigned int, 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  322   
TEST_ONE_SHIFT(0, 31, u32, 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  323   
TEST_ONE_SHIFT(0, 63, u64, 0, false);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  324  
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  325   /* Sane shift: 
start and end with 0, without reaching signed bit. */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  326   
TEST_ONE_SHIFT(0, 6, s8, 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  327   
TEST_ONE_SHIFT(0, 14, s16, 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  328   
TEST_ONE_SHIFT(0, 30, int, 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  329   
TEST_ONE_SHIFT(0, 30, s32, 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  330   
TEST_ONE_SHIFT(0, 62, s64, 0, false);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  331  
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  332   /* Overflow: 
shifted the bit off the end. */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  333   
TEST_ONE_SHIFT(1, 8, u8, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  334   
TEST_ONE_SHIFT(1, 16, u16, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  335   
TEST_ONE_SHIFT(1, 32, unsigned int, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  336   
TEST_ONE_SHIFT(1, 32, u32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  337   
TEST_ONE_SHIFT(1, 64, u64, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  338  
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  339   /* Overflow: 
shifted into the signed bit. */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  340   
TEST_ONE_SHIFT(1, 7, s8, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16 @341   
TEST_ONE_SHIFT(1, 15, s16, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  342   
TEST_ONE_SHIFT(1, 31, int, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  343   
TEST_ONE_SHIFT(1, 31, s32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  344   
TEST_ONE_SHIFT(1, 63, s64, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  345  
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  346   /* Overflow: 
high bit falls off unsigned types. */
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  347   /* 10010110 */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  348   
TEST_ONE_SHIFT(150, 1, u8, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  349   /* 
1000100010010110 */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  350   
TEST_ONE_SHIFT(34966, 1, u16, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  351   /* 
10000100000010001000100010010110 */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  352   
TEST_ONE_SHIFT(2215151766U, 1, u32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  353   
TEST_ONE_SHIFT(2215151766U, 1, unsigned int, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  354   /* 
1000001000010000010000000100000010000100000010001000100010010110 */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  355   
TEST_ONE_SHIFT(9372061470395238550ULL, 1, u64, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  356  
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  357   /* Overflow: 
bit shifted into signed bit on signed types. */
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  358   /* 01001011 */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  359   
TEST_ONE_SHIFT(75, 1, s8, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  360   /* 
0100010001001011 */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  361   
TEST_ONE_SHIFT(17483, 1, s16, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  362   /* 
01000010000001000100010001001011 */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  363   
TEST_ONE_SHIFT(1107575883, 1, s32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  364   
TEST_ONE_SHIFT(1107575883, 1, int, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  365   /* 
0100000100001000001000000010000001000010000001000100010001001011 */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  366   
TEST_ONE_SHIFT(4686030735197619275LL, 1, s64, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  367  
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  368   /* Overflow: 
bit shifted past signed bit on signed types. */
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  369   /* 01001011 */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  370   
TEST_ONE_SHIFT(75, 2, s8, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  371   /* 
0100010001001011 */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  372   
TEST_ONE_SHIFT(17483, 2, s16, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  373   /* 
01000010000001000100010001001011 */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  374   
TEST_ONE_SHIFT(1107575883, 2, s32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  375   
TEST_ONE_SHIFT(1107575883, 2, int, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  376   /* 
0100000100001000001000000010000001000010000001000100010001001011 */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  377   
TEST_ONE_SHIFT(4686030735197619275LL, 2, s64, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  378  
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  379   /* Overflow: 
values larger than destination type. */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  380   
TEST_ONE_SHIFT(0x100, 0, u8, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  381   
TEST_ONE_SHIFT(0xFF, 0, s8, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  382   
TEST_ONE_SHIFT(0x10000U, 0, u16, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  383   
TEST_ONE_SHIFT(0xFFFFU, 0, s16, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  384   
TEST_ONE_SHIFT(0x100000000ULL, 0, u32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  385   
TEST_ONE_SHIFT(0x100000000ULL, 0, unsigned int, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  386   
TEST_ONE_SHIFT(0xFFFFFFFFUL, 0, s32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  387   
TEST_ONE_SHIFT(0xFFFFFFFFUL, 0, int, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  388   
TEST_ONE_SHIFT(0xFFFFFFFFFFFFFFFFULL, 0, s64, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  389  
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  390   /* Nonsense: 
negative initial value. */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  391   
TEST_ONE_SHIFT(-1, 0, s8, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  392   
TEST_ONE_SHIFT(-1, 0, u8, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  393   
TEST_ONE_SHIFT(-5, 0, s16, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16 @394   
TEST_ONE_SHIFT(-5, 0, u16, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  395   
TEST_ONE_SHIFT(-10, 0, int, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  396   
TEST_ONE_SHIFT(-10, 0, unsigned int, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  397   
TEST_ONE_SHIFT(-100, 0, s32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  398   
TEST_ONE_SHIFT(-100, 0, u32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  399   
TEST_ONE_SHIFT(-10000, 0, s64, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  400   
TEST_ONE_SHIFT(-10000, 0, u64, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  401  
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  402   /* Nonsense: 
negative shift values. */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  403   
TEST_ONE_SHIFT(0, -5, s8, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  404   
TEST_ONE_SHIFT(0, -5, u8, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  405   
TEST_ONE_SHIFT(0, -10, s16, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  406   
TEST_ONE_SHIFT(0, -10, u16, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  407   
TEST_ONE_SHIFT(0, -15, int, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  408   
TEST_ONE_SHIFT(0, -15, unsigned int, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  409   
TEST_ONE_SHIFT(0, -20, s32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  410   
TEST_ONE_SHIFT(0, -20, u32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  411   
TEST_ONE_SHIFT(0, -30, s64, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  412   
TEST_ONE_SHIFT(0, -30, u64, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  413  
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  414   /* Overflow: 
shifted at or beyond entire type's bit width. */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  415   
TEST_ONE_SHIFT(0, 8, u8, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  416   
TEST_ONE_SHIFT(0, 9, u8, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  417   
TEST_ONE_SHIFT(0, 8, s8, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  418   
TEST_ONE_SHIFT(0, 9, s8, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  419   
TEST_ONE_SHIFT(0, 16, u16, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  420   
TEST_ONE_SHIFT(0, 17, u16, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  421   
TEST_ONE_SHIFT(0, 16, s16, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  422   
TEST_ONE_SHIFT(0, 17, s16, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  423   
TEST_ONE_SHIFT(0, 32, u32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  424   
TEST_ONE_SHIFT(0, 33, u32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  425   
TEST_ONE_SHIFT(0, 32, int, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  426   
TEST_ONE_SHIFT(0, 33, int, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  427   
TEST_ONE_SHIFT(0, 32, s32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  428   
TEST_ONE_SHIFT(0, 33, s32, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  429   
TEST_ONE_SHIFT(0, 64, u64, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  430   
TEST_ONE_SHIFT(0, 65, u64, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  431   
TEST_ONE_SHIFT(0, 64, s64, 0, true);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  432   
TEST_ONE_SHIFT(0, 65, s64, 0, true);
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  433  
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  434   /*
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  435    * Corner case: 
for unsigned types, we fail when we've shifted
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  436    * through the 
entire width of bits. For signed types, we might
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  437    * want to 
match this behavior, but that would mean noticing if
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  438    * we shift 
through all but the signed bit, and this is not
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  439    * currently 
detected (but we'll notice an overflow into the
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  440    * signed bit). 
So, for now, we will test this condition but
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  441    * mark it as 
not expected to overflow.
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  442    */
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  443   
TEST_ONE_SHIFT(0, 7, s8, 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  444   
TEST_ONE_SHIFT(0, 15, s16, 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  445   
TEST_ONE_SHIFT(0, 31, int, 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  446   
TEST_ONE_SHIFT(0, 31, s32, 0, false);
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  447   
TEST_ONE_SHIFT(0, 63, s64, 0, false);
8e7c8ca6b98890 lib/test_overflow.c  Kees Cook 2021-09-20  448  
617f55e20743fc lib/overflow_kunit.c Kees Cook 2022-02-16  449   
kunit_info(test, "%d shift tests finished\n", count);
8e7c8ca6b98890 lib/test_overflow.c  Kees Cook 2021-09-20  450  #undef 
TEST_ONE_SHIFT
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  451  }
d36b6ad27c7b95 lib/test_overflow.c  Kees Cook 2018-08-01  452  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to