mm/sparse.c:145:2: warning: int result is returned as long value. If the return value is long to avoid loss of information, then you have loss of information. [truncLongCastReturn]

From: kernel test robot
Date: Mon Jul 12 2021 - 15:20:29 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e73f0f0ee7541171d89f2e2491130c7771ba58d3
commit: 36d40290c8f71daf1ba5567ab14574f36b9b8d6a alpha: switch from DISCONTIGMEM to SPARSEMEM
date: 7 months ago
compiler: alpha-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


cppcheck warnings: (new ones prefixed by >>)
>> mm/sparse.c:145:2: warning: int result is returned as long value. If the return value is long to avoid loss of information, then you have loss of information. [truncLongCastReturn]
return (nid << SECTION_NID_SHIFT);
^

vim +145 mm/sparse.c

4ca644d970bf25 Dave Hansen 2005-10-29 136
30c253e6da655d Andy Whitcroft 2006-06-23 137 /*
30c253e6da655d Andy Whitcroft 2006-06-23 138 * During early boot, before section_mem_map is used for an actual
30c253e6da655d Andy Whitcroft 2006-06-23 139 * mem_map, we use section_mem_map to store the section's NUMA
30c253e6da655d Andy Whitcroft 2006-06-23 140 * node. This keeps us from having to use another data structure. The
30c253e6da655d Andy Whitcroft 2006-06-23 141 * node information is cleared just before we store the real mem_map.
30c253e6da655d Andy Whitcroft 2006-06-23 142 */
30c253e6da655d Andy Whitcroft 2006-06-23 143 static inline unsigned long sparse_encode_early_nid(int nid)
30c253e6da655d Andy Whitcroft 2006-06-23 144 {
30c253e6da655d Andy Whitcroft 2006-06-23 @145 return (nid << SECTION_NID_SHIFT);
30c253e6da655d Andy Whitcroft 2006-06-23 146 }
30c253e6da655d Andy Whitcroft 2006-06-23 147

:::::: The code at line 145 was first introduced by commit
:::::: 30c253e6da655d73eb8bfe2adca9b8f4d82fb81e [PATCH] sparsemem: record nid during memory present

:::::: TO: Andy Whitcroft <apw@xxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx