Messages in this thread | | | Date | Sun, 3 Oct 2021 01:27:30 +0000 | From | Al Viro <> | Subject | Re: fs/buffer.c:2342:1: warning: the frame size of 2056 bytes is larger than 1024 bytes |
| |
On Sun, Oct 03, 2021 at 08:48:34AM +0800, kernel test robot wrote: > Hi Christophe,
> # save the attached .config to linux build tree
> fs/buffer.c: In function 'block_read_full_page': > >> fs/buffer.c:2342:1: warning: the frame size of 2056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
fs/buffer.c:2259: struct buffer_head *bh, *head, *arr[MAX_BUF_PER_PAGE];
Now, include/linux/buffer_head.h:44:#define MAX_BUF_PER_PAGE (PAGE_SIZE / 512)
so 'arr' in the above is PAGE_SIZE/512 pointers. From the attached .config, CONFIG_32BIT=y and # CONFIG_PPC_4K_PAGES is not set # CONFIG_PPC_16K_PAGES is not set # CONFIG_PPC_64K_PAGES is not set CONFIG_PPC_256K_PAGES=y CONFIG_PPC_PAGE_SHIFT=18
IOW, we have 256K/512 pointers, 4 bytes each, which amounts to 2K. Just in that array.
The rest of affected functions have similar local arrays...
| |