diff options
author | Andrew Morton | 2022-05-25 15:17:09 -0700 |
---|---|---|
committer | akpm | 2022-05-27 09:33:47 -0700 |
commit | fa020a2b87d24016723fff4a4237deb612478a32 (patch) | |
tree | 9209d063f5946af9072077afa8cda19a2bc54f6f /mm | |
parent | 0710d0122abc93adcb9a70a78f1625c491f6ad91 (diff) |
mm/shmem.c: suppress shift warning
mm/shmem.c:1948 shmem_getpage_gfp() warn: should '(((1) << 12) / 512) << folio_order(folio)' be a 64 bit type?
On i386, so an unsigned long is 32-bit, but i_blocks is a 64-bit blkcnt_t.
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Jessica Clarke <jrtc27@jrtc27.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/shmem.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/shmem.c b/mm/shmem.c index 54149ce679be..c24f684022fd 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -1945,7 +1945,7 @@ alloc_nohuge: spin_lock_irq(&info->lock); info->alloced += folio_nr_pages(folio); - inode->i_blocks += BLOCKS_PER_PAGE << folio_order(folio); + inode->i_blocks += (blkcnt_t)BLOCKS_PER_PAGE << folio_order(folio); shmem_recalc_inode(inode); spin_unlock_irq(&info->lock); alloced = true; |