summaryrefslogtreecommitdiffstats
path: root/mm/sparse.c
diff options
context:
space:
mode:
authorMatthew Wilcox <willy@infradead.org>2021-09-02 14:57:10 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2021-09-03 09:58:14 -0700
commite0dbb2bccf19ce5e870afb420a3d0480c582bb7b (patch)
treefababf9b366984b2171605dc3efd04a69ecffd1f /mm/sparse.c
parent01c8d337d195ed105cabab95bc4dcb9e145bf5ea (diff)
downloadlinux-e0dbb2bccf19ce5e870afb420a3d0480c582bb7b.tar.gz
linux-e0dbb2bccf19ce5e870afb420a3d0480c582bb7b.tar.bz2
linux-e0dbb2bccf19ce5e870afb420a3d0480c582bb7b.zip
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: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/sparse.c')
-rw-r--r--mm/sparse.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/sparse.c b/mm/sparse.c
index d85655242ed9..be7936e65b6a 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)