Re: [linux-next:master] BUILD REGRESSION 8cb8311e95e3bb58bd84d6350365f14a718faa6d

Andrew Morton <[email protected]>
Newsgroups gmane.linux.ports.arm.omap,gmane.linux.kernel.virtualization,gmane.linux.network,gmane.linux.ports.riscv,gmane.linux.drivers.rdma,gmane.linux.kernel.pci,gmane.linux.parport,gmane.linux.kernel.mm,gmane.linux.ports.arm.kernel,gmane.comp.emulators.kvm.devel,gmane.comp.video.dri.devel,gmane.linux.kernel.bpf,gmane.comp.freedesktop.amd-gfx,gmane.linux.alsa.devel
Message-ID <[email protected]>
On Wed, 25 May 2022 23:07:35 +0100 Jessica Clarke <[email protected]> wrote:

> This is i386, so an unsigned long is 32-bit, but i_blocks is a blkcnt_t
> i.e. a u64, which makes the shift without a cast of the LHS fishy.

Ah, of course, thanks.  I remember 32 bits ;)

--- a/mm/shmem.c~mm-shmemc-suppress-shift-warning
+++ a/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;
_
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.