[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202501072245.XEsNqAlW-lkp@intel.com>
Date: Tue, 7 Jan 2025 22:10:15 +0800
From: kernel test robot <lkp@...el.com>
To: Huang Ying <ying.huang@...el.com>
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
Linux Memory Management List <linux-mm@...ck.org>
Subject: kernel/resource.c:1838:43: warning: implicit conversion from
'unsigned long long' to 'resource_size_t' (aka 'unsigned int') changes value
from 68719476735 to 4294967295
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fbfd64d25c7af3b8695201ebc85efe90be28c5a3
commit: 99185c10d5d9214d0d0c8b7866660203e344ee3b resource, kunit: add test case for region_intersects()
date: 4 months ago
config: arm-randconfig-001-20241228 (https://download.01.org/0day-ci/archive/20250107/202501072245.XEsNqAlW-lkp@intel.com/config)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250107/202501072245.XEsNqAlW-lkp@intel.com/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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501072245.XEsNqAlW-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> kernel/resource.c:1838:43: warning: implicit conversion from 'unsigned long long' to 'resource_size_t' (aka 'unsigned int') changes value from 68719476735 to 4294967295 [-Wconstant-conversion]
end = min_t(resource_size_t, base->end, MAX_PHYS_ADDR);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
kernel/resource.c:1827:52: note: expanded from macro 'MAX_PHYS_ADDR'
#define MAX_PHYS_ADDR ((1ULL << MAX_PHYSMEM_BITS) - 1)
^
include/linux/minmax.h:213:52: note: expanded from macro 'min_t'
#define min_t(type, x, y) __cmp_once(min, type, x, y)
~~~~~~~~~~~~~~~~~~~~~~~~~^~
include/linux/minmax.h:96:33: note: expanded from macro '__cmp_once'
__cmp_once_unique(op, type, x, y, __UNIQUE_ID(x_), __UNIQUE_ID(y_))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:93:31: note: expanded from macro '__cmp_once_unique'
({ type ux = (x); type uy = (y); __cmp(op, ux, uy); })
~~ ^
kernel/resource.c:1855:45: warning: implicit conversion from 'unsigned long long' to 'resource_size_t' (aka 'unsigned int') changes value from 68719476735 to 4294967295 [-Wconstant-conversion]
addr <= min_t(resource_size_t, base->end, MAX_PHYS_ADDR);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
kernel/resource.c:1827:52: note: expanded from macro 'MAX_PHYS_ADDR'
#define MAX_PHYS_ADDR ((1ULL << MAX_PHYSMEM_BITS) - 1)
^
include/linux/minmax.h:213:52: note: expanded from macro 'min_t'
#define min_t(type, x, y) __cmp_once(min, type, x, y)
~~~~~~~~~~~~~~~~~~~~~~~~~^~
include/linux/minmax.h:96:33: note: expanded from macro '__cmp_once'
__cmp_once_unique(op, type, x, y, __UNIQUE_ID(x_), __UNIQUE_ID(y_))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:93:31: note: expanded from macro '__cmp_once_unique'
({ type ux = (x); type uy = (y); __cmp(op, ux, uy); })
~~ ^
2 warnings generated.
vim +1838 kernel/resource.c
1831
1832 static resource_size_t gfr_start(struct resource *base, resource_size_t size,
1833 resource_size_t align, unsigned long flags)
1834 {
1835 if (flags & GFR_DESCENDING) {
1836 resource_size_t end;
1837
> 1838 end = min_t(resource_size_t, base->end, MAX_PHYS_ADDR);
1839 return end - size + 1;
1840 }
1841
1842 return ALIGN(max(base->start, align), align);
1843 }
1844
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists