[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202506161547.VMAIYY21-lkp@intel.com>
Date: Mon, 16 Jun 2025 15:30:57 +0800
From: kernel test robot <lkp@...el.com>
To: Yunshui Jiang <jiangyunshui@...inos.cn>, alexander.deucher@....com,
chriistian.koenig@....com
Cc: oe-kbuild-all@...ts.linux.dev, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org,
Yunshui Jiang <jiangyunshui@...inos.cn>
Subject: Re: [PATCH] drm/amdgpu: use kmalloc_array() instead of kmalloc()
Hi Yunshui,
kernel test robot noticed the following build errors:
[auto build test ERROR on linus/master]
[also build test ERROR on v6.16-rc2 next-20250613]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Yunshui-Jiang/drm-amdgpu-use-kmalloc_array-instead-of-kmalloc/20250616-105830
base: linus/master
patch link: https://lore.kernel.org/r/20250616025559.2766331-1-jiangyunshui%40kylinos.cn
patch subject: [PATCH] drm/amdgpu: use kmalloc_array() instead of kmalloc()
config: arm64-randconfig-002-20250616 (https://download.01.org/0day-ci/archive/20250616/202506161547.VMAIYY21-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250616/202506161547.VMAIYY21-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506161547.VMAIYY21-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/percpu.h:5,
from arch/arm64/include/asm/arch_timer.h:18,
from arch/arm64/include/asm/timex.h:8,
from include/linux/timex.h:67,
from include/linux/time32.h:13,
from include/linux/time.h:60,
from include/linux/stat.h:19,
from include/linux/fs.h:11,
from include/linux/debugfs.h:15,
from drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:24:
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c: In function 'amdgpu_ras_realloc_eh_data_space':
>> include/linux/slab.h:911:61: error: too many arguments to function 'kmalloc_noprof'; expected 2, have 3
911 | #define kmalloc(...) alloc_hooks(kmalloc_noprof(__VA_ARGS__))
| ^~~~~~~~~~~~~~
include/linux/alloc_tag.h:239:16: note: in definition of macro 'alloc_hooks_tag'
239 | typeof(_do_alloc) _res; \
| ^~~~~~~~~
include/linux/slab.h:911:49: note: in expansion of macro 'alloc_hooks'
911 | #define kmalloc(...) alloc_hooks(kmalloc_noprof(__VA_ARGS__))
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:2722:21: note: in expansion of macro 'kmalloc'
2722 | void *bps = kmalloc(align_space, sizeof(*data->bps), GFP_KERNEL);
| ^~~~~~~
In file included from include/linux/fs.h:46:
include/linux/slab.h:896:46: note: declared here
896 | static __always_inline __alloc_size(1) void *kmalloc_noprof(size_t size, gfp_t flags)
| ^~~~~~~~~~~~~~
>> include/linux/slab.h:911:61: error: too many arguments to function 'kmalloc_noprof'; expected 2, have 3
911 | #define kmalloc(...) alloc_hooks(kmalloc_noprof(__VA_ARGS__))
| ^~~~~~~~~~~~~~
include/linux/alloc_tag.h:243:24: note: in definition of macro 'alloc_hooks_tag'
243 | _res = _do_alloc; \
| ^~~~~~~~~
include/linux/slab.h:911:49: note: in expansion of macro 'alloc_hooks'
911 | #define kmalloc(...) alloc_hooks(kmalloc_noprof(__VA_ARGS__))
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:2722:21: note: in expansion of macro 'kmalloc'
2722 | void *bps = kmalloc(align_space, sizeof(*data->bps), GFP_KERNEL);
| ^~~~~~~
include/linux/slab.h:896:46: note: declared here
896 | static __always_inline __alloc_size(1) void *kmalloc_noprof(size_t size, gfp_t flags)
| ^~~~~~~~~~~~~~
>> include/linux/slab.h:911:61: error: too many arguments to function 'kmalloc_noprof'; expected 2, have 3
911 | #define kmalloc(...) alloc_hooks(kmalloc_noprof(__VA_ARGS__))
| ^~~~~~~~~~~~~~
include/linux/alloc_tag.h:246:24: note: in definition of macro 'alloc_hooks_tag'
246 | _res = _do_alloc; \
| ^~~~~~~~~
include/linux/slab.h:911:49: note: in expansion of macro 'alloc_hooks'
911 | #define kmalloc(...) alloc_hooks(kmalloc_noprof(__VA_ARGS__))
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:2722:21: note: in expansion of macro 'kmalloc'
2722 | void *bps = kmalloc(align_space, sizeof(*data->bps), GFP_KERNEL);
| ^~~~~~~
include/linux/slab.h:896:46: note: declared here
896 | static __always_inline __alloc_size(1) void *kmalloc_noprof(size_t size, gfp_t flags)
| ^~~~~~~~~~~~~~
vim +/kmalloc_noprof +911 include/linux/slab.h
67f2df3b82d091 Kees Cook 2024-07-01 815
a0a44d9175b349 Vlastimil Babka 2024-05-27 816 /*
a0a44d9175b349 Vlastimil Babka 2024-05-27 817 * The following functions are not to be used directly and are intended only
a0a44d9175b349 Vlastimil Babka 2024-05-27 818 * for internal use from kmalloc() and kmalloc_node()
a0a44d9175b349 Vlastimil Babka 2024-05-27 819 * with the exception of kunit tests
a0a44d9175b349 Vlastimil Babka 2024-05-27 820 */
a0a44d9175b349 Vlastimil Babka 2024-05-27 821
a0a44d9175b349 Vlastimil Babka 2024-05-27 822 void *__kmalloc_noprof(size_t size, gfp_t flags)
a0a44d9175b349 Vlastimil Babka 2024-05-27 823 __assume_kmalloc_alignment __alloc_size(1);
f1b6eb6e6be149 Christoph Lameter 2013-09-04 824
67f2df3b82d091 Kees Cook 2024-07-01 825 void *__kmalloc_node_noprof(DECL_BUCKET_PARAMS(size, b), gfp_t flags, int node)
a0a44d9175b349 Vlastimil Babka 2024-05-27 826 __assume_kmalloc_alignment __alloc_size(1);
a0a44d9175b349 Vlastimil Babka 2024-05-27 827
a0a44d9175b349 Vlastimil Babka 2024-05-27 828 void *__kmalloc_cache_noprof(struct kmem_cache *s, gfp_t flags, size_t size)
a0a44d9175b349 Vlastimil Babka 2024-05-27 829 __assume_kmalloc_alignment __alloc_size(3);
7bd230a26648ac Suren Baghdasaryan 2024-03-21 830
a0a44d9175b349 Vlastimil Babka 2024-05-27 831 void *__kmalloc_cache_node_noprof(struct kmem_cache *s, gfp_t gfpflags,
a0a44d9175b349 Vlastimil Babka 2024-05-27 832 int node, size_t size)
a0a44d9175b349 Vlastimil Babka 2024-05-27 833 __assume_kmalloc_alignment __alloc_size(4);
7bd230a26648ac Suren Baghdasaryan 2024-03-21 834
a0a44d9175b349 Vlastimil Babka 2024-05-27 835 void *__kmalloc_large_noprof(size_t size, gfp_t flags)
a0a44d9175b349 Vlastimil Babka 2024-05-27 836 __assume_page_alignment __alloc_size(1);
a0c3b940023eef Harry Yoo 2022-08-17 837
a0a44d9175b349 Vlastimil Babka 2024-05-27 838 void *__kmalloc_large_node_noprof(size_t size, gfp_t flags, int node)
a0a44d9175b349 Vlastimil Babka 2024-05-27 839 __assume_page_alignment __alloc_size(1);
a0c3b940023eef Harry Yoo 2022-08-17 840
f1b6eb6e6be149 Christoph Lameter 2013-09-04 841 /**
838de63b101147 Vlastimil Babka 2022-11-10 842 * kmalloc - allocate kernel memory
f1b6eb6e6be149 Christoph Lameter 2013-09-04 843 * @size: how many bytes of memory are required.
838de63b101147 Vlastimil Babka 2022-11-10 844 * @flags: describe the allocation context
f1b6eb6e6be149 Christoph Lameter 2013-09-04 845 *
f1b6eb6e6be149 Christoph Lameter 2013-09-04 846 * kmalloc is the normal method of allocating memory
f1b6eb6e6be149 Christoph Lameter 2013-09-04 847 * for objects smaller than page size in the kernel.
7e3528c3660a2e Randy Dunlap 2013-11-22 848 *
59bb47985c1db2 Vlastimil Babka 2019-10-06 849 * The allocated object address is aligned to at least ARCH_KMALLOC_MINALIGN
59bb47985c1db2 Vlastimil Babka 2019-10-06 850 * bytes. For @size of power of two bytes, the alignment is also guaranteed
ad59baa3169591 Vlastimil Babka 2024-07-03 851 * to be at least to the size. For other sizes, the alignment is guaranteed to
ad59baa3169591 Vlastimil Babka 2024-07-03 852 * be at least the largest power-of-two divisor of @size.
59bb47985c1db2 Vlastimil Babka 2019-10-06 853 *
01598ba6b1a863 Mike Rapoport 2018-11-11 854 * The @flags argument may be one of the GFP flags defined at
e9d198f2be851f Thorsten Scherer 2023-03-12 855 * include/linux/gfp_types.h and described at
01598ba6b1a863 Mike Rapoport 2018-11-11 856 * :ref:`Documentation/core-api/mm-api.rst <mm-api-gfp-flags>`
7e3528c3660a2e Randy Dunlap 2013-11-22 857 *
01598ba6b1a863 Mike Rapoport 2018-11-11 858 * The recommended usage of the @flags is described at
2370ae4b1d5aa7 Mauro Carvalho Chehab 2020-04-10 859 * :ref:`Documentation/core-api/memory-allocation.rst <memory_allocation>`
7e3528c3660a2e Randy Dunlap 2013-11-22 860 *
01598ba6b1a863 Mike Rapoport 2018-11-11 861 * Below is a brief outline of the most useful GFP flags
7e3528c3660a2e Randy Dunlap 2013-11-22 862 *
01598ba6b1a863 Mike Rapoport 2018-11-11 863 * %GFP_KERNEL
01598ba6b1a863 Mike Rapoport 2018-11-11 864 * Allocate normal kernel ram. May sleep.
7e3528c3660a2e Randy Dunlap 2013-11-22 865 *
01598ba6b1a863 Mike Rapoport 2018-11-11 866 * %GFP_NOWAIT
01598ba6b1a863 Mike Rapoport 2018-11-11 867 * Allocation will not sleep.
7e3528c3660a2e Randy Dunlap 2013-11-22 868 *
01598ba6b1a863 Mike Rapoport 2018-11-11 869 * %GFP_ATOMIC
01598ba6b1a863 Mike Rapoport 2018-11-11 870 * Allocation will not sleep. May use emergency pools.
7e3528c3660a2e Randy Dunlap 2013-11-22 871 *
7e3528c3660a2e Randy Dunlap 2013-11-22 872 * Also it is possible to set different flags by OR'ing
7e3528c3660a2e Randy Dunlap 2013-11-22 873 * in one or more of the following additional @flags:
7e3528c3660a2e Randy Dunlap 2013-11-22 874 *
838de63b101147 Vlastimil Babka 2022-11-10 875 * %__GFP_ZERO
838de63b101147 Vlastimil Babka 2022-11-10 876 * Zero the allocated memory before returning. Also see kzalloc().
838de63b101147 Vlastimil Babka 2022-11-10 877 *
01598ba6b1a863 Mike Rapoport 2018-11-11 878 * %__GFP_HIGH
01598ba6b1a863 Mike Rapoport 2018-11-11 879 * This allocation has high priority and may use emergency pools.
7e3528c3660a2e Randy Dunlap 2013-11-22 880 *
01598ba6b1a863 Mike Rapoport 2018-11-11 881 * %__GFP_NOFAIL
01598ba6b1a863 Mike Rapoport 2018-11-11 882 * Indicate that this allocation is in no way allowed to fail
7e3528c3660a2e Randy Dunlap 2013-11-22 883 * (think twice before using).
7e3528c3660a2e Randy Dunlap 2013-11-22 884 *
01598ba6b1a863 Mike Rapoport 2018-11-11 885 * %__GFP_NORETRY
01598ba6b1a863 Mike Rapoport 2018-11-11 886 * If memory is not immediately available,
7e3528c3660a2e Randy Dunlap 2013-11-22 887 * then give up at once.
7e3528c3660a2e Randy Dunlap 2013-11-22 888 *
01598ba6b1a863 Mike Rapoport 2018-11-11 889 * %__GFP_NOWARN
01598ba6b1a863 Mike Rapoport 2018-11-11 890 * If allocation fails, don't issue any warnings.
7e3528c3660a2e Randy Dunlap 2013-11-22 891 *
01598ba6b1a863 Mike Rapoport 2018-11-11 892 * %__GFP_RETRY_MAYFAIL
01598ba6b1a863 Mike Rapoport 2018-11-11 893 * Try really hard to succeed the allocation but fail
dcda9b04713c3f Michal Hocko 2017-07-12 894 * eventually.
f1b6eb6e6be149 Christoph Lameter 2013-09-04 895 */
7bd230a26648ac Suren Baghdasaryan 2024-03-21 896 static __always_inline __alloc_size(1) void *kmalloc_noprof(size_t size, gfp_t flags)
f1b6eb6e6be149 Christoph Lameter 2013-09-04 897 {
6fa57d78aa7f21 Kees Cook 2022-11-17 898 if (__builtin_constant_p(size) && size) {
cc252eae85e095 Vlastimil Babka 2018-10-26 899 unsigned int index;
3bf019334fbbb5 Kees Cook 2022-11-17 900
f1b6eb6e6be149 Christoph Lameter 2013-09-04 901 if (size > KMALLOC_MAX_CACHE_SIZE)
a0a44d9175b349 Vlastimil Babka 2024-05-27 902 return __kmalloc_large_noprof(size, flags);
f1b6eb6e6be149 Christoph Lameter 2013-09-04 903
cc252eae85e095 Vlastimil Babka 2018-10-26 904 index = kmalloc_index(size);
a0a44d9175b349 Vlastimil Babka 2024-05-27 905 return __kmalloc_cache_noprof(
3c615294058429 GONG, Ruiqi 2023-07-14 906 kmalloc_caches[kmalloc_type(flags, _RET_IP_)][index],
f1b6eb6e6be149 Christoph Lameter 2013-09-04 907 flags, size);
f1b6eb6e6be149 Christoph Lameter 2013-09-04 908 }
7bd230a26648ac Suren Baghdasaryan 2024-03-21 909 return __kmalloc_noprof(size, flags);
f1b6eb6e6be149 Christoph Lameter 2013-09-04 910 }
7bd230a26648ac Suren Baghdasaryan 2024-03-21 @911 #define kmalloc(...) alloc_hooks(kmalloc_noprof(__VA_ARGS__))
ce6a50263d4dde Christoph Lameter 2013-01-10 912
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists