Re: [PATCH 1/8] CMDLINE: add generic builtin command line

From: kernel test robot
Date: Fri Nov 10 2023 - 15:31:39 EST


Hi Daniel,

kernel test robot noticed the following build errors:

[auto build test ERROR on v6.6]
[cannot apply to arm64/for-next/core efi/next tip/x86/core robh/for-next linus/master next-20231110]
[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/Daniel-Walker/CMDLINE-add-generic-builtin-command-line/20231110-094423
base: v6.6
patch link: https://lore.kernel.org/r/20231110013817.2378507-2-danielwa%40cisco.com
patch subject: [PATCH 1/8] CMDLINE: add generic builtin command line
config: sparc-allyesconfig (https://download.01.org/0day-ci/archive/20231110/202311102331.GllFaI9t-lkp@xxxxxxxxx/config)
compiler: sparc64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231110/202311102331.GllFaI9t-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/202311102331.GllFaI9t-lkp@xxxxxxxxx/

All error/warnings (new ones prefixed by >>):

In file included from include/linux/kernel.h:15,
from include/linux/interrupt.h:6,
from arch/sparc/include/asm/setup.h:8,
from lib/generic_cmdline.S:5:
>> include/linux/align.h:8: warning: "ALIGN" redefined
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
|
In file included from include/linux/export.h:6,
from lib/generic_cmdline.S:2:
include/linux/linkage.h:103: note: this is the location of the previous definition
103 | #define ALIGN __ALIGN
|
In file included from include/linux/kcsan-checks.h:13,
from include/linux/instrumented.h:12,
from include/linux/atomic/atomic-instrumented.h:17,
from include/linux/atomic.h:82,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_64.h:52,
from arch/sparc/include/asm/bitops.h:5,
from include/linux/bitops.h:68,
from include/linux/kernel.h:22:
>> include/linux/compiler_attributes.h:55: warning: "__always_inline" redefined
55 | #define __always_inline inline __attribute__((__always_inline__))
|
In file included from include/linux/stddef.h:5,
from include/linux/kernel.h:18:
include/uapi/linux/stddef.h:8: note: this is the location of the previous definition
8 | #define __always_inline inline
|
>> include/linux/compiler_attributes.h:91:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
91 | #if __has_attribute(__copy__)
| ^~~~~~~~~~~~~~~
>> include/linux/compiler_attributes.h:91:20: error: missing binary operator before token "("
91 | #if __has_attribute(__copy__)
| ^
include/linux/compiler_attributes.h:104:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
104 | #if __has_attribute(__counted_by__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:104:20: error: missing binary operator before token "("
104 | #if __has_attribute(__counted_by__)
| ^
>> include/linux/compiler_attributes.h:107: warning: "__counted_by" redefined
107 | # define __counted_by(member)
|
include/uapi/linux/stddef.h:55: note: this is the location of the previous definition
55 | #define __counted_by(m)
|
include/linux/compiler_attributes.h:116:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
116 | #if __has_attribute(__diagnose_as_builtin__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:116:20: error: missing binary operator before token "("
116 | #if __has_attribute(__diagnose_as_builtin__)
| ^
include/linux/compiler_attributes.h:139:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
139 | #if __has_attribute(__designated_init__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:139:20: error: missing binary operator before token "("
139 | #if __has_attribute(__designated_init__)
| ^
include/linux/compiler_attributes.h:150:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
150 | #if __has_attribute(__error__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:150:20: error: missing binary operator before token "("
150 | #if __has_attribute(__error__)
| ^
include/linux/compiler_attributes.h:161:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
161 | #if __has_attribute(__externally_visible__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:161:20: error: missing binary operator before token "("
161 | #if __has_attribute(__externally_visible__)
| ^
include/linux/compiler_attributes.h:198:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
198 | #if __has_attribute(__no_caller_saved_registers__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:198:20: error: missing binary operator before token "("
198 | #if __has_attribute(__no_caller_saved_registers__)
| ^
include/linux/compiler_attributes.h:209:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
209 | #if __has_attribute(__noclone__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:209:20: error: missing binary operator before token "("
209 | #if __has_attribute(__noclone__)
| ^
include/linux/compiler_attributes.h:226:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
226 | #if __has_attribute(__fallthrough__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:226:20: error: missing binary operator before token "("
226 | #if __has_attribute(__fallthrough__)
| ^
include/linux/compiler_attributes.h:252:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
252 | #if __has_attribute(__nonstring__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:252:20: error: missing binary operator before token "("
252 | #if __has_attribute(__nonstring__)
| ^
include/linux/compiler_attributes.h:264:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
264 | #if __has_attribute(__no_profile_instrument_function__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:264:20: error: missing binary operator before token "("
264 | #if __has_attribute(__no_profile_instrument_function__)
| ^
include/linux/compiler_attributes.h:283:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
283 | #if __has_attribute(__no_stack_protector__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:283:20: error: missing binary operator before token "("
283 | #if __has_attribute(__no_stack_protector__)
| ^
include/linux/compiler_attributes.h:294:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
294 | #if __has_attribute(__overloadable__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:294:20: error: missing binary operator before token "("
294 | #if __has_attribute(__overloadable__)
| ^
include/linux/compiler_attributes.h:313:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
313 | #if __has_attribute(__pass_dynamic_object_size__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:313:20: error: missing binary operator before token "("
313 | #if __has_attribute(__pass_dynamic_object_size__)
| ^
include/linux/compiler_attributes.h:318:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
318 | #if __has_attribute(__pass_object_size__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:318:20: error: missing binary operator before token "("
318 | #if __has_attribute(__pass_object_size__)
| ^
include/linux/compiler_attributes.h:363:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
363 | #if __has_attribute(__warning__)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:363:20: error: missing binary operator before token "("
363 | #if __has_attribute(__warning__)
| ^
include/linux/compiler_attributes.h:380:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef]
380 | #if __has_attribute(disable_sanitizer_instrumentation)
| ^~~~~~~~~~~~~~~
include/linux/compiler_attributes.h:380:20: error: missing binary operator before token "("
380 | #if __has_attribute(disable_sanitizer_instrumentation)
| ^


vim +91 include/linux/compiler_attributes.h

86cffecdeaa278 Kees Cook 2021-11-05 45
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 46 /*
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 47 * Note: users of __always_inline currently do not write "inline" themselves,
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 48 * which seems to be required by gcc to apply the attribute according
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 49 * to its docs (and also "warning: always_inline function might not be
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 50 * inlinable [-Wattributes]" is emitted).
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 51 *
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 52 * gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-always_005finline-function-attribute
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 53 * clang: mentioned
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 54 */
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 @55 #define __always_inline inline __attribute__((__always_inline__))
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 56
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 57 /*
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 58 * The second argument is optional (default 0), so we use a variadic macro
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 59 * to make the shorthand.
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 60 *
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 61 * Beware: Do not apply this to functions which may return
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 62 * ERR_PTRs. Also, it is probably unwise to apply it to functions
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 63 * returning extra information in the low bits (but in that case the
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 64 * compiler should see some alignment anyway, when the return value is
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 65 * massaged by 'flags = ptr & 3; ptr &= ~3;').
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 66 *
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 67 * gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-assume_005faligned-function-attribute
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 68 * clang: https://clang.llvm.org/docs/AttributeReference.html#assume-aligned
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 69 */
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 70 #define __assume_aligned(a, ...) __attribute__((__assume_aligned__(a, ## __VA_ARGS__)))
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 71
54da6a0924311c Peter Zijlstra 2023-05-26 72 /*
54da6a0924311c Peter Zijlstra 2023-05-26 73 * gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html#index-cleanup-variable-attribute
54da6a0924311c Peter Zijlstra 2023-05-26 74 * clang: https://clang.llvm.org/docs/AttributeReference.html#cleanup
54da6a0924311c Peter Zijlstra 2023-05-26 75 */
54da6a0924311c Peter Zijlstra 2023-05-26 76 #define __cleanup(func) __attribute__((__cleanup__(func)))
54da6a0924311c Peter Zijlstra 2023-05-26 77
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 78 /*
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 79 * Note the long name.
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 80 *
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 81 * gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-const-function-attribute
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 82 */
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 83 #define __attribute_const__ __attribute__((__const__))
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 84
c0d9782f5b6d71 Miguel Ojeda 2019-02-08 85 /*
c0d9782f5b6d71 Miguel Ojeda 2019-02-08 86 * Optional: only supported since gcc >= 9
c0d9782f5b6d71 Miguel Ojeda 2019-02-08 87 * Optional: not supported by clang
c0d9782f5b6d71 Miguel Ojeda 2019-02-08 88 *
c0d9782f5b6d71 Miguel Ojeda 2019-02-08 89 * gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-copy-function-attribute
c0d9782f5b6d71 Miguel Ojeda 2019-02-08 90 */
c0d9782f5b6d71 Miguel Ojeda 2019-02-08 @91 #if __has_attribute(__copy__)
c0d9782f5b6d71 Miguel Ojeda 2019-02-08 92 # define __copy(symbol) __attribute__((__copy__(symbol)))
c0d9782f5b6d71 Miguel Ojeda 2019-02-08 93 #else
c0d9782f5b6d71 Miguel Ojeda 2019-02-08 94 # define __copy(symbol)
c0d9782f5b6d71 Miguel Ojeda 2019-02-08 95 #endif
c0d9782f5b6d71 Miguel Ojeda 2019-02-08 96
c8248faf3ca276 Kees Cook 2023-08-17 97 /*
c8248faf3ca276 Kees Cook 2023-08-17 98 * Optional: only supported since gcc >= 14
c8248faf3ca276 Kees Cook 2023-08-17 99 * Optional: only supported since clang >= 18
c8248faf3ca276 Kees Cook 2023-08-17 100 *
c8248faf3ca276 Kees Cook 2023-08-17 101 * gcc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108896
c8248faf3ca276 Kees Cook 2023-08-17 102 * clang: https://reviews.llvm.org/D148381
c8248faf3ca276 Kees Cook 2023-08-17 103 */
c8248faf3ca276 Kees Cook 2023-08-17 104 #if __has_attribute(__counted_by__)
c8248faf3ca276 Kees Cook 2023-08-17 105 # define __counted_by(member) __attribute__((__counted_by__(member)))
c8248faf3ca276 Kees Cook 2023-08-17 106 #else
c8248faf3ca276 Kees Cook 2023-08-17 @107 # define __counted_by(member)
c8248faf3ca276 Kees Cook 2023-08-17 108 #endif
c8248faf3ca276 Kees Cook 2023-08-17 109

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki