Skip to content
Snippets Groups Projects
  1. May 24, 2019
  2. May 21, 2019
  3. May 20, 2019
    • Masahiro Yamada's avatar
      kbuild: do not check name uniqueness of builtin modules · 4a33d4f1
      Masahiro Yamada authored
      I just thought it was a good idea to scan builtin.modules in the name
      uniqueness checking, but a couple of false positives were found.
      
      Stephen reported a false positive for ppc64_defconfig:
      
        warning: same basename if the following are built as modules:
          arch/powerpc/platforms/powermac/nvram.ko
          drivers/char/nvram.ko
      
      The former is never built as a module as you see in
      arch/powerpc/platforms/powermac/Makefile:
      
        # CONFIG_NVRAM is an arch. independent tristate symbol, for pmac32 we really
        # need this to be a bool.  Cheat here and pretend CONFIG_NVRAM=m is really
        # CONFIG_NVRAM=y
        obj-$(CONFIG_NVRAM:m=y)         += nvram.o
      
      Another example of false positive is arm64 defconfig:
      
        warning: same basename if the following are built as modules:
          arch/arm64/lib/crc32.ko
          lib/crc32.ko
      
      It is true CONFIG_CRC32 is a tristate option but it is always 'y' since
      it is select'ed by ARM64. Hence, neither of them is built as a module
      for the arm64 build.
      
      From the above, modules.builtin essentially contains false positives.
      I do not think it is a big deal as far as kmod is concerned, but false
      positive warnings in the kernel build make people upset. It is better
      to not check it.
      
      Even without builtin.modules checked, we have enough (and more solid)
      test coverage with allmodconfig.
      
      While I touched this part, I replaced the sed code with neater one
      provided by Stephen.
      
      Link: https://lkml.org/lkml/2019/5/19/120
      Link: https://lkml.org/lkml/2019/5/19/123
      
      
      Fixes: 3a48a919 ("kbuild: check uniqueness of module names")
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4a33d4f1
    • Nick Desaulniers's avatar
      kbuild: drop support for cc-ldoption · 055efab3
      Nick Desaulniers authored
      
      If you want to see if your linker supports a certain flag, then ask the
      linker directly with ld-option (not the compiler with cc-ldoption).
      Checking for linker flag support is an antipattern that complicates the
      usage of various linkers other than bfd via -fuse-ld={bfd|gold|lld}.
      
      Cc: clang-built-linux@googlegroups.com
      Suggested-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      055efab3
  4. May 19, 2019
  5. May 18, 2019
  6. May 15, 2019
  7. May 14, 2019
  8. May 12, 2019
  9. May 10, 2019
    • Chris Packham's avatar
      gcc-plugins: arm_ssp_per_task_plugin: Fix for older GCC < 6 · 259799ea
      Chris Packham authored
      
      Use gen_rtx_set instead of gen_rtx_SET. The former is a wrapper macro
      that handles the difference between GCC versions implementing
      the latter.
      
      This fixes the following error on my system with g++ 5.4.0 as the host
      compiler
      
         HOSTCXX -fPIC scripts/gcc-plugins/arm_ssp_per_task_plugin.o
       scripts/gcc-plugins/arm_ssp_per_task_plugin.c:42:14: error: macro "gen_rtx_SET" requires 3 arguments, but only 2 given
                mask)),
                     ^
       scripts/gcc-plugins/arm_ssp_per_task_plugin.c: In function ‘unsigned int arm_pertask_ssp_rtl_execute()’:
       scripts/gcc-plugins/arm_ssp_per_task_plugin.c:39:20: error: ‘gen_rtx_SET’ was not declared in this scope
          emit_insn_before(gen_rtx_SET
      
      Signed-off-by: default avatarChris Packham <chris.packham@alliedtelesis.co.nz>
      Fixes: 189af465 ("ARM: smp: add support for per-task stack canaries")
      Cc: stable@vger.kernel.org
      Tested-by: default avatarDouglas Anderson <dianders@chromium.org>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      259799ea
    • Masahiro Yamada's avatar
      kconfig: make parent directories for the saved .config as needed · 580c5b3e
      Masahiro Yamada authored
      
      With menuconfig / nconfig, users can input any file path from the
      "Save" menu, but it fails if the parent directory does not exist.
      
      Why not create the parent directory automatically. I think this is
      a user-friendly behavior.
      
      I changed the error messages in menuconfig / nconfig.
      
      "Nonexistent directory" is no longer the most likely reason of the
      failure. Perhaps, the user specified the existing directory, or
      attempted to write to the location without write permission.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      580c5b3e
    • Masahiro Yamada's avatar
      kconfig: do not write .config if the content is the same · 67424f61
      Masahiro Yamada authored
      
      Kconfig updates the .config when it exits even if its content is
      exactly the same as before. Since its timestamp becomes newer than
      that of other build artifacts, additional processing is invoked,
      which is annoying.
      
      - syncconfig is invoked to update include/config/auto.conf, etc.
      
      - kernel/configs.o is recompiled if CONFIG_IKCONFIG is enabled,
        then vmlinux is relinked as well.
      
      If the .config is not changed at all, we do not have to even
      touch it. Just bail out showing "No change to .config".
      
        $ make allmodconfig
        scripts/kconfig/conf  --allmodconfig Kconfig
        #
        # configuration written to .config
        #
        $ make allmodconfig
        scripts/kconfig/conf  --allmodconfig Kconfig
        #
        # No change to .config
        #
      
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      67424f61
    • Masahiro Yamada's avatar
      kconfig: do not accept a directory for configuration output · ceb7f329
      Masahiro Yamada authored
      Currently, conf_write() can be called with a directory name instead
      of a file name. As far as I see, this can happen for menuconfig,
      nconfig, gconfig.
      
      If it is given with a directory path, conf_write() kindly appends
      getenv("KCONFIG_CONFIG"), but this ends up with hacky dir/basename
      handling, and screwed up in corner-cases like "what if KCONFIG_CONFIG
      is an absolute path?" as discussed before:
      
        https://patchwork.kernel.org/patch/9910037/
      
      
      
      Since conf_write() is already messed up, I'd say "do not do it".
      Please pass a file path all the time. If a directory path is specified
      for the configuration output, conf_write() will simply error out.
      
      Now that the tmp file is created in the same directory as the .config,
      the previously reported "what if KCONFIG_CONFIG points to a different
      file system?" has been solved.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Cc: Nicolas Porcel <nicolasporcel06@gmail.com>
      ceb7f329
  10. May 09, 2019
  11. May 07, 2019
    • Alexey Gladkov's avatar
      moduleparam: Save information about built-in modules in separate file · 898490c0
      Alexey Gladkov authored
      
      Problem:
      
      When a kernel module is compiled as a separate module, some important
      information about the kernel module is available via .modinfo section of
      the module.  In contrast, when the kernel module is compiled into the
      kernel, that information is not available.
      
      Information about built-in modules is necessary in the following cases:
      
      1. When it is necessary to find out what additional parameters can be
      passed to the kernel at boot time.
      
      2. When you need to know which module names and their aliases are in
      the kernel. This is very useful for creating an initrd image.
      
      Proposal:
      
      The proposed patch does not remove .modinfo section with module
      information from the vmlinux at the build time and saves it into a
      separate file after kernel linking. So, the kernel does not increase in
      size and no additional information remains in it. Information is stored
      in the same format as in the separate modules (null-terminated string
      array). Because the .modinfo section is already exported with a separate
      modules, we are not creating a new API.
      
      It can be easily read in the userspace:
      
      $ tr '\0' '\n' < modules.builtin.modinfo
      ext4.softdep=pre: crc32c
      ext4.license=GPL
      ext4.description=Fourth Extended Filesystem
      ext4.author=Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others
      ext4.alias=fs-ext4
      ext4.alias=ext3
      ext4.alias=fs-ext3
      ext4.alias=ext2
      ext4.alias=fs-ext2
      md_mod.alias=block-major-9-*
      md_mod.alias=md
      md_mod.description=MD RAID framework
      md_mod.license=GPL
      md_mod.parmtype=create_on_open:bool
      md_mod.parmtype=start_dirty_degraded:int
      ...
      
      Co-Developed-by: default avatarGleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
      Signed-off-by: default avatarGleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
      Signed-off-by: default avatarAlexey Gladkov <gladkov.alexey@gmail.com>
      Acked-by: default avatarJessica Yu <jeyu@kernel.org>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      898490c0
  12. May 06, 2019
  13. May 03, 2019
Loading