On Thu, Mar 06, 2025 at 07:34:21PM +0800, kernel test robot wrote: >Hi Wei, > >kernel test robot noticed the following build warnings: > >[auto build test WARNING on linus/master] >[also build test WARNING on v6.14-rc5 next-20250306] >[cannot apply to akpm-mm/mm-nonmm-unstable akpm-mm/mm-everything] >[If your patch is applied to the wrong git tree, kindly drop us a note. >And when submitting patch, we suggest to use '--base' as documented in >https://git-scm.com/docs/git-format-patch#_base_tree_information] > >url: https://github.com/intel-lab-lkp/linux/commits/Wei-Yang/lib-rbtree-enable-userland-test-suite-for-rbtree-related-data-structure/20250304-092345 >base: linus/master >patch link: https://lore.kernel.org/r/20250304011952.29182-4-richard.weiyang%40gmail.com >patch subject: [PATCH 3/7] lib/rbtree: add random seed >config: csky-randconfig-002-20250305 (https://download.01.org/0day-ci/archive/20250306/202503061924.hFdFosTG-lkp@xxxxxxxxx/config) >compiler: csky-linux-gcc (GCC) 14.2.0 >reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250306/202503061924.hFdFosTG-lkp@xxxxxxxxx/reproduce) > >If you fix the issue in a separate patch/commit (i.e. not just a new version of >the same patch/commit), kindly add following tags >| Reported-by: kernel test robot <lkp@xxxxxxxxx> >| Closes: https://lore.kernel.org/oe-kbuild-all/202503061924.hFdFosTG-lkp@xxxxxxxxx/ > >All warnings (new ones prefixed by >>): > >>> lib/interval_tree_test.c:22:22: warning: conversion from 'long long unsigned int' to 'ulong' {aka 'long unsigned int'} changes value from '3141592653589793238' to '2721204694' [-Woverflow] > 22 | __param(ulong, seed, 3141592653589793238ULL, "Random seed"); > | ^~~~~~~~~~~~~~~~~~~~~~ > lib/interval_tree_test.c:10:28: note: in definition of macro '__param' > 10 | static type name = init; \ > | ^~~~ >-- >>> lib/rbtree_test.c:17:22: warning: conversion from 'long long unsigned int' to 'ulong' {aka 'long unsigned int'} changes value from '3141592653589793238' to '2721204694' [-Woverflow] > 17 | __param(ulong, seed, 3141592653589793238ULL, "Random seed"); > | ^~~~~~~~~~~~~~~~~~~~~~ > lib/rbtree_test.c:10:28: note: in definition of macro '__param' > 10 | static type name = init; \ > | ^~~~ > > >vim +22 lib/interval_tree_test.c > > 20 > 21 __param(uint, max_endpoint, ~0, "Largest value for the interval's endpoint"); > > 22 __param(ulong, seed, 3141592653589793238ULL, "Random seed"); > 23 > Thanks for reporting. I went through the mail list, it seems I need send a diff reply here. Since we already have proper definition of param_xxx_ullong(), I choose following fix. If any comment, just let me know. Thanks diff --git a/include/linux/types.h b/include/linux/types.h index a3d2182c2686..49b79c8bb1a9 100644 --- a/include/linux/types.h +++ b/include/linux/types.h @@ -92,6 +92,7 @@ typedef unsigned char unchar; typedef unsigned short ushort; typedef unsigned int uint; typedef unsigned long ulong; +typedef unsigned long long ullong; #ifndef __BIT_TYPES_DEFINED__ #define __BIT_TYPES_DEFINED__ diff --git a/lib/interval_tree_test.c b/lib/interval_tree_test.c index 37198afa87ed..5fd62656f42e 100644 --- a/lib/interval_tree_test.c +++ b/lib/interval_tree_test.c @@ -21,7 +21,7 @@ __param(int, search_loops, 1000, "Number of iterations searching the tree"); __param(bool, search_all, false, "Searches will iterate all nodes in the tree"); __param(uint, max_endpoint, ~0, "Largest value for the interval's endpoint"); -__param(ulong, seed, 3141592653589793238ULL, "Random seed"); +__param(ullong, seed, 3141592653589793238ULL, "Random seed"); static struct rb_root_cached root = RB_ROOT_CACHED; static struct interval_tree_node *nodes = NULL; diff --git a/lib/rbtree_test.c b/lib/rbtree_test.c index 94ace8f0fbf8..690cede46ac2 100644 --- a/lib/rbtree_test.c +++ b/lib/rbtree_test.c @@ -14,7 +14,7 @@ __param(int, nnodes, 100, "Number of nodes in the rb-tree"); __param(int, perf_loops, 1000, "Number of iterations modifying the rb-tree"); __param(int, check_loops, 100, "Number of iterations modifying and verifying the rb-tree"); -__param(ulong, seed, 3141592653589793238ULL, "Random seed"); +__param(ullong, seed, 3141592653589793238ULL, "Random seed"); struct test_node { u32 key; diff --git a/tools/include/linux/types.h b/tools/include/linux/types.h index 8519386acd23..4928e33d44ac 100644 --- a/tools/include/linux/types.h +++ b/tools/include/linux/types.h @@ -42,6 +42,8 @@ typedef __s16 s16; typedef __u8 u8; typedef __s8 s8; +typedef unsigned long long ullong; + #ifdef __CHECKER__ #define __bitwise __attribute__((bitwise)) #else -- Wei Yang Help you, Help me