mm/slub.c:3253:6: warning: stack frame size of 2640 bytes in function 'kmem_cache_free_bulk'

From: kernel test robot
Date: Sun May 02 2021 - 21:46:02 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9ccce092fc64d19504fa54de4fd659e279cc92e7
commit: cdf8a76fda4ae3b53c5a09e5a8c79e27b7b65d68 ubsan: move cc-option tests into Kconfig
date: 5 months ago
config: powerpc64-randconfig-r026-20210430 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8f5a2a5836cc8e4c1def2bdeb022e7b496623439)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cdf8a76fda4ae3b53c5a09e5a8c79e27b7b65d68
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout cdf8a76fda4ae3b53c5a09e5a8c79e27b7b65d68
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=powerpc64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

mm/slub.c:1503:21: warning: unused function 'kmalloc_large_node_hook' [-Wunused-function]
static inline void *kmalloc_large_node_hook(void *ptr, size_t size, gfp_t flags)
^
>> mm/slub.c:3253:6: warning: stack frame size of 2640 bytes in function 'kmem_cache_free_bulk' [-Wframe-larger-than=]
void kmem_cache_free_bulk(struct kmem_cache *s, size_t size, void **p)
^
2 warnings generated.
--
>> drivers/gpu/drm/drm_edid.c:4998:13: warning: stack frame size of 2640 bytes in function 'drm_parse_cea_ext' [-Wframe-larger-than=]
static void drm_parse_cea_ext(struct drm_connector *connector,
^
1 warning generated.
--
>> kernel/sched/topology.c:2029:1: warning: stack frame size of 2384 bytes in function 'build_sched_domains' [-Wframe-larger-than=]
build_sched_domains(const struct cpumask *cpu_map, struct sched_domain_attr *attr)
^
1 warning generated.


vim +/kmem_cache_free_bulk +3253 mm/slub.c

d0ecd894e3d5f7 Jesper Dangaard Brouer 2015-11-20 3251
d0ecd894e3d5f7 Jesper Dangaard Brouer 2015-11-20 3252 /* Note that interrupts must be enabled when calling this function. */
376bf125ac781d Jesper Dangaard Brouer 2016-03-15 @3253 void kmem_cache_free_bulk(struct kmem_cache *s, size_t size, void **p)
d0ecd894e3d5f7 Jesper Dangaard Brouer 2015-11-20 3254 {
d0ecd894e3d5f7 Jesper Dangaard Brouer 2015-11-20 3255 if (WARN_ON(!size))
d0ecd894e3d5f7 Jesper Dangaard Brouer 2015-11-20 3256 return;
d0ecd894e3d5f7 Jesper Dangaard Brouer 2015-11-20 3257
d1b2cf6cb84a9b Bharata B Rao 2020-10-13 3258 memcg_slab_free_hook(s, p, size);
d0ecd894e3d5f7 Jesper Dangaard Brouer 2015-11-20 3259 do {
d0ecd894e3d5f7 Jesper Dangaard Brouer 2015-11-20 3260 struct detached_freelist df;
d0ecd894e3d5f7 Jesper Dangaard Brouer 2015-11-20 3261
d0ecd894e3d5f7 Jesper Dangaard Brouer 2015-11-20 3262 size = build_detached_freelist(s, size, p, &df);
84582c8ab9479f Arnd Bergmann 2016-12-12 3263 if (!df.page)
d0ecd894e3d5f7 Jesper Dangaard Brouer 2015-11-20 3264 continue;
d0ecd894e3d5f7 Jesper Dangaard Brouer 2015-11-20 3265
376bf125ac781d Jesper Dangaard Brouer 2016-03-15 3266 slab_free(df.s, df.page, df.freelist, df.tail, df.cnt,_RET_IP_);
d0ecd894e3d5f7 Jesper Dangaard Brouer 2015-11-20 3267 } while (likely(size));
484748f0b65a19 Christoph Lameter 2015-09-04 3268 }
484748f0b65a19 Christoph Lameter 2015-09-04 3269 EXPORT_SYMBOL(kmem_cache_free_bulk);
484748f0b65a19 Christoph Lameter 2015-09-04 3270

:::::: The code at line 3253 was first introduced by commit
:::::: 376bf125ac781d32e202760ed7deb1ae4ed35d31 slub: clean up code for kmem cgroup support to kmem_cache_free_bulk

:::::: TO: Jesper Dangaard Brouer <brouer@xxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip