From: Matthew Wilcox Date: Thu, 2 Sep 2021 21:57:10 +0000 (-0700) Subject: include/linux/mmzone.h: avoid a warning in sparse memory support X-Git-Tag: v5.15-rc1~13^2~26^2~77 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=e0dbb2bccf19ce5e870afb420a3d0480c582bb7b;p=users%2Fdwmw2%2Flinux.git 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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/mm/sparse.c b/mm/sparse.c index d85655242ed98..be7936e65b6a2 100644 --- a/mm/sparse.c +++ b/mm/sparse.c @@ -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) { - return (nid << SECTION_NID_SHIFT); + return ((unsigned long)nid << SECTION_NID_SHIFT); } static inline int sparse_early_nid(struct mem_section *section)