Thread (11 messages) 11 messages, 7 authors, 2022-06-16

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

From: Jessica Clarke <hidden>
Date: 2022-05-25 22:07:39
Also in: alsa-devel, amd-gfx, bpf, dri-devel, kvm, linux-arm-kernel, linux-fbdev, linux-mm, linux-omap, linux-pci, linux-rdma, linux-riscv, linux-staging

On 25 May 2022, at 22:50, Andrew Morton [off-list ref] wrote:
On Thu, 26 May 2022 05:35:20 +0800 kernel test robot [off-list ref] wrote:
quoted
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
branch HEAD: 8cb8311e95e3bb58bd84d6350365f14a718faa6d  Add linux-next specific files for 20220525

Error/Warning reports:

...

Unverified Error/Warning (likely false positive, please contact us if interested):
Could be so.
quoted
mm/shmem.c:1948 shmem_getpage_gfp() warn: should '(((1) << 12) / 512) << folio_order(folio)' be a 64 bit type?
I've been seeing this one for a while.  And from this report I can't
figure out what tool emitted it.  Clang?
quoted
...

|-- i386-randconfig-m021
|   `-- mm-shmem.c-shmem_getpage_gfp()-warn:should-((()-)-)-folio_order(folio)-be-a-bit-type
If you're going to use randconfig then shouldn't you make the config
available?  Or maybe quote the KCONFIG_SEED - presumably there's a way
for others to regenerate.

Anyway, the warning seems wrong to me.


#define PAGE_SIZE               (_AC(1,UL) << PAGE_SHIFT)

#define BLOCKS_PER_PAGE  (PAGE_SIZE/512)

	inode->i_blocks += BLOCKS_PER_PAGE << folio_order(folio);

so the RHS here should have unsigned long type.  Being able to generate
the cpp output would be helpful.  That requires the .config.
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.

Jess
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help