Re: [PATCH v5] lib/vsprintf: Add support for generic FourCCs by extending %p4cc
From: kernel test robot
Date: Sat Mar 01 2025 - 13:08:34 EST
Hi Aditya,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-nonmm-unstable]
[also build test ERROR on linus/master v6.14-rc4 next-20250228]
[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/Aditya-Garg/lib-vsprintf-Add-support-for-generic-FourCCs-by-extending-p4cc/20250301-003018
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-nonmm-unstable
patch link: https://lore.kernel.org/r/2C9622E6-A2DB-4681-A971-604C79F9955E%40live.com
patch subject: [PATCH v5] lib/vsprintf: Add support for generic FourCCs by extending %p4cc
config: arm-randconfig-004-20250301 (https://download.01.org/0day-ci/archive/20250302/202503020112.24wZ1Wcs-lkp@xxxxxxxxx/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project 14170b16028c087ca154878f5ed93d3089a965c6)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250302/202503020112.24wZ1Wcs-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202503020112.24wZ1Wcs-lkp@xxxxxxxxx/
All errors (new ones prefixed by >>):
lib/test_printf.c:802:17: warning: excess elements in scalar initializer [-Wexcess-initializers]
802 | { 0x41424344, "ABCD (0x41424344)", },
| ^~~~~~~~~~~~~~~~~~~
lib/test_printf.c:805:17: warning: excess elements in scalar initializer [-Wexcess-initializers]
805 | { 0x41424344, "DCBA (0x44434241)", },
| ^~~~~~~~~~~~~~~~~~~
lib/test_printf.c:808:30: warning: excess elements in scalar initializer [-Wexcess-initializers]
808 | { le32_to_cpu(0x41424344), "ABCD (0x41424344)", },
| ^~~~~~~~~~~~~~~~~~~
lib/test_printf.c:811:30: warning: excess elements in scalar initializer [-Wexcess-initializers]
811 | { be32_to_cpu(0x41424344), "ABCD (0x41424344)", },
| ^~~~~~~~~~~~~~~~~~~
>> lib/test_printf.c:815:30: error: subscripted value is not an array, pointer, or vector
815 | fourcc_pointer_test(try_ch, ARRAY_SIZE(try_ch), "%p4ch");
| ^~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:52: note: expanded from macro 'ARRAY_SIZE'
11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ~~~~~^~
>> lib/test_printf.c:815:30: error: subscripted value is not an array, pointer, or vector
815 | fourcc_pointer_test(try_ch, ARRAY_SIZE(try_ch), "%p4ch");
| ^~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:59: note: expanded from macro 'ARRAY_SIZE'
11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:202:53: note: expanded from macro '__must_be_array'
202 | #define __must_be_array(a) __BUILD_BUG_ON_ZERO_MSG(!__is_array(a), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
203 | "must be array")
| ~~~~~~~~~~~~~~~~
include/linux/compiler.h:201:47: note: expanded from macro '__is_array'
201 | #define __is_array(a) (!__same_type((a), &(a)[0]))
| ^~
include/linux/compiler_types.h:483:74: note: expanded from macro '__same_type'
483 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
| ^
include/linux/compiler.h:197:79: note: expanded from macro '__BUILD_BUG_ON_ZERO_MSG'
197 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
| ^
lib/test_printf.c:816:30: error: subscripted value is not an array, pointer, or vector
816 | fourcc_pointer_test(try_cn, ARRAY_SIZE(try_cn), "%p4cn");
| ^~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:52: note: expanded from macro 'ARRAY_SIZE'
11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ~~~~~^~
lib/test_printf.c:816:30: error: subscripted value is not an array, pointer, or vector
816 | fourcc_pointer_test(try_cn, ARRAY_SIZE(try_cn), "%p4cn");
| ^~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:59: note: expanded from macro 'ARRAY_SIZE'
11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:202:53: note: expanded from macro '__must_be_array'
202 | #define __must_be_array(a) __BUILD_BUG_ON_ZERO_MSG(!__is_array(a), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
203 | "must be array")
| ~~~~~~~~~~~~~~~~
include/linux/compiler.h:201:47: note: expanded from macro '__is_array'
201 | #define __is_array(a) (!__same_type((a), &(a)[0]))
| ^~
include/linux/compiler_types.h:483:74: note: expanded from macro '__same_type'
483 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
| ^
include/linux/compiler.h:197:79: note: expanded from macro '__BUILD_BUG_ON_ZERO_MSG'
197 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
| ^
lib/test_printf.c:817:30: error: subscripted value is not an array, pointer, or vector
817 | fourcc_pointer_test(try_cl, ARRAY_SIZE(try_cl), "%p4cl");
| ^~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:52: note: expanded from macro 'ARRAY_SIZE'
11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ~~~~~^~
lib/test_printf.c:817:30: error: subscripted value is not an array, pointer, or vector
817 | fourcc_pointer_test(try_cl, ARRAY_SIZE(try_cl), "%p4cl");
| ^~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:59: note: expanded from macro 'ARRAY_SIZE'
11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:202:53: note: expanded from macro '__must_be_array'
202 | #define __must_be_array(a) __BUILD_BUG_ON_ZERO_MSG(!__is_array(a), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
203 | "must be array")
| ~~~~~~~~~~~~~~~~
include/linux/compiler.h:201:47: note: expanded from macro '__is_array'
201 | #define __is_array(a) (!__same_type((a), &(a)[0]))
| ^~
include/linux/compiler_types.h:483:74: note: expanded from macro '__same_type'
483 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
| ^
include/linux/compiler.h:197:79: note: expanded from macro '__BUILD_BUG_ON_ZERO_MSG'
197 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
| ^
lib/test_printf.c:818:30: error: subscripted value is not an array, pointer, or vector
818 | fourcc_pointer_test(try_cb, ARRAY_SIZE(try_cb), "%p4cb");
| ^~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:52: note: expanded from macro 'ARRAY_SIZE'
11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ~~~~~^~
lib/test_printf.c:818:30: error: subscripted value is not an array, pointer, or vector
818 | fourcc_pointer_test(try_cb, ARRAY_SIZE(try_cb), "%p4cb");
| ^~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:59: note: expanded from macro 'ARRAY_SIZE'
11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:202:53: note: expanded from macro '__must_be_array'
202 | #define __must_be_array(a) __BUILD_BUG_ON_ZERO_MSG(!__is_array(a), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
203 | "must be array")
| ~~~~~~~~~~~~~~~~
include/linux/compiler.h:201:47: note: expanded from macro '__is_array'
201 | #define __is_array(a) (!__same_type((a), &(a)[0]))
| ^~
include/linux/compiler_types.h:483:74: note: expanded from macro '__same_type'
483 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
| ^
include/linux/compiler.h:197:79: note: expanded from macro '__BUILD_BUG_ON_ZERO_MSG'
197 | #define __BUILD_BUG_ON_ZERO_MSG(e, msg) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
| ^
4 warnings and 8 errors generated.
vim +815 lib/test_printf.c
792
793 static void __init fourcc_pointer(void)
794 {
795 static const struct fourcc_struct try_cc[] = {
796 { 0x3231564e, "NV12 little-endian (0x3231564e)", },
797 { 0xb231564e, "NV12 big-endian (0xb231564e)", },
798 { 0x10111213, ".... little-endian (0x10111213)", },
799 { 0x20303159, "Y10 little-endian (0x20303159)", },
800 };
801 static const struct fourcc_struct try_ch = {
802 { 0x41424344, "ABCD (0x41424344)", },
803 };
804 static const struct fourcc_struct try_cn = {
805 { 0x41424344, "DCBA (0x44434241)", },
806 };
807 static const struct fourcc_struct try_cl = {
808 { le32_to_cpu(0x41424344), "ABCD (0x41424344)", },
809 };
810 static const struct fourcc_struct try_cb = {
811 { be32_to_cpu(0x41424344), "ABCD (0x41424344)", },
812 };
813
814 fourcc_pointer_test(try_cc, ARRAY_SIZE(try_cc), "%p4cc");
> 815 fourcc_pointer_test(try_ch, ARRAY_SIZE(try_ch), "%p4ch");
816 fourcc_pointer_test(try_cn, ARRAY_SIZE(try_cn), "%p4cn");
817 fourcc_pointer_test(try_cl, ARRAY_SIZE(try_cl), "%p4cl");
818 fourcc_pointer_test(try_cb, ARRAY_SIZE(try_cb), "%p4cb");
819 }
820
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki