# git rev-parse -q --verify 2a66c3124afd2782015d160f8bad693488ce68de^{commit} 2a66c3124afd2782015d160f8bad693488ce68de already have revision, skipping fetch # git checkout -q -f -B kisskb 2a66c3124afd2782015d160f8bad693488ce68de # git clean -qxdf # < git log -1 # commit 2a66c3124afd2782015d160f8bad693488ce68de # Author: Masahiro Yamada # Date: Mon May 9 04:06:19 2022 +0900 # # modpost: change the license of EXPORT_SYMBOL to bool type # # There were more EXPORT_SYMBOL types in the past. The following commits # removed unused ones. # # - f1c3d73e973c ("module: remove EXPORT_SYMBOL_GPL_FUTURE") # - 367948220fce ("module: remove EXPORT_UNUSED_SYMBOL*") # # There are 3 remaining in enum export, but export_unknown does not make # any sense because we never expect such a situation like "we do not know # how it was exported". # # If the symbol name starts with "__ksymtab_", but the section name # does not start with "___ksymtab+" or "___ksymtab_gpl+", it is not an # exported symbol. # # It occurs when a variable starting with "__ksymtab_" is directly defined: # # int __ksymtab_foo; # # Presumably, there is no practical issue for using such a weird variable # name (but there is no good reason for doing so, either). # # Anyway, that is not an exported symbol. Setting export_unknown is not # the right thing to do. Do not call sym_add_exported() in this case. # # With pointless export_unknown removed, the export type finally becomes # boolean (either EXPORT_SYMBOL or EXPORT_SYMBOL_GPL). # # I renamed the field name to is_gpl_only. EXPORT_SYMBOL_GPL sets it true. # Only GPL-compatible modules can use it. # # I removed the orphan comment, "How a symbol is exported", which is # unrelated to sec_mismatch_count. It is about enum export. # See commit bd5cbcedf446 ("kbuild: export-type enhancement to modpost.c") # # Signed-off-by: Masahiro Yamada # Reviewed-by: Nicolas Schier # Tested-by: Nathan Chancellor # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 2a66c3124afd2782015d160f8bad693488ce68de # < make -s -j 24 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # < make -s -j 24 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 24 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig # make -s -j 24 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- arch/x86/crypto/poly1305-x86_64.prelink.o: warning: objtool: poly1305_blocks_avx() falls through to next function poly1305_blocks_x86_64() arch/x86/crypto/poly1305-x86_64.prelink.o: warning: objtool: poly1305_emit_avx() falls through to next function poly1305_emit_x86_64() arch/x86/crypto/poly1305-x86_64.prelink.o: warning: objtool: poly1305_blocks_avx2() falls through to next function poly1305_blocks_x86_64() arch/x86/crypto/poly1305-x86_64.prelink.o: warning: objtool: poly1305_blocks_avx512() falls through to next function poly1305_blocks_x86_64() Completed OK # rm -rf /kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc11 # Build took: 0:42:32.091928