Commit e0dbb2bc authored by Matthew Wilcox's avatar Matthew Wilcox Committed by Linus Torvalds

include/linux/mmzone.h: avoid a warning in sparse memory support

cppcheck warns that we're possibly losing information by shifting an int.
It's a false positive, because we don't allow for a NUMA node ID that
large, but if we ever change SECTION_NID_SHIFT, it could become a problem,
and in any case this is usually a legitimate warning.  Fix it by adding
the necessary cast, which makes the compiler generate the right code.

Link: https://lkml.kernel.org/r/YOya+aBZFFmC476e@casper.infradead.org
Link: https://lkml.kernel.org/r/202107130348.6LsVT9Nc-lkp@intel.com
Cc: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 01c8d337
...@@ -117,7 +117,7 @@ static inline int sparse_index_init(unsigned long section_nr, int nid) ...@@ -117,7 +117,7 @@ static inline int sparse_index_init(unsigned long section_nr, int nid)
*/ */
static inline unsigned long sparse_encode_early_nid(int nid) static inline unsigned long sparse_encode_early_nid(int nid)
{ {
return (nid << SECTION_NID_SHIFT); return ((unsigned long)nid << SECTION_NID_SHIFT);
} }
static inline int sparse_early_nid(struct mem_section *section) static inline int sparse_early_nid(struct mem_section *section)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment