1. 03 9月, 2021 2 次提交
  2. 30 6月, 2021 1 次提交
  3. 28 5月, 2021 1 次提交
    • J
      kbuild: Quote OBJCOPY var to avoid a pahole call break the build · ff2e6efd
      Javier Martinez Canillas 提交于
      The ccache tool can be used to speed up cross-compilation, by calling the
      compiler and binutils through ccache. For example, following should work:
      
          $ export ARCH=arm64 CROSS_COMPILE="ccache aarch64-linux-gnu-"
      
          $ make M=drivers/gpu/drm/rockchip/
      
      but pahole fails to extract the BTF info from DWARF, breaking the build:
      
            CC [M]  drivers/gpu/drm/rockchip//rockchipdrm.mod.o
            LD [M]  drivers/gpu/drm/rockchip//rockchipdrm.ko
            BTF [M] drivers/gpu/drm/rockchip//rockchipdrm.ko
          aarch64-linux-gnu-objcopy: invalid option -- 'J'
          Usage: aarch64-linux-gnu-objcopy [option(s)] in-file [out-file]
           Copies a binary file, possibly transforming it in the process
          ...
          make[1]: *** [scripts/Makefile.modpost:156: __modpost] Error 2
          make: *** [Makefile:1866: modules] Error 2
      
      this fails because OBJCOPY is set to "ccache aarch64-linux-gnu-copy" and
      later pahole is executed with the following command line:
      
          LLVM_OBJCOPY=$(OBJCOPY) $(PAHOLE) -J --btf_base vmlinux $@
      
      which gets expanded to:
      
          LLVM_OBJCOPY=ccache aarch64-linux-gnu-objcopy pahole -J ...
      
      instead of:
      
          LLVM_OBJCOPY="ccache aarch64-linux-gnu-objcopy" pahole -J ...
      
      Fixes: 5f9ae91f ("kbuild: Build kernel module BTFs if BTF is enabled and pahole supports it")
      Signed-off-by: NJavier Martinez Canillas <javierm@redhat.com>
      Signed-off-by: NAndrii Nakryiko <andrii@kernel.org>
      Acked-by: NAndrii Nakryiko <andrii@kernel.org>
      Acked-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Link: https://lore.kernel.org/bpf/20210526215228.3729875-1-javierm@redhat.com
      ff2e6efd
  4. 27 5月, 2021 1 次提交
    • M
      kbuild: clean up ${quiet} checks in shell scripts · c39013ee
      Masahiro Yamada 提交于
      There were efforts to make 'make -s' really silent when it is a
      warning-free build.
      
      The conventional way was to let a shell script check ${quiet}, and if
      it is 'silent_', suppress the stdout by itself.
      
      With the previous commit, the 'cmd' takes care of it now. The 'cmd' is
      also invoked from if_changed, if_changed_dep, and if_changed_rule.
      
      You can omit ${quiet} checks in shell scripts when they are invoked
      from the 'cmd' macro.
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      c39013ee
  5. 06 5月, 2021 1 次提交
  6. 25 4月, 2021 2 次提交
    • R
      kbuild: apply fixdep logic to link-vmlinux.sh · 0b956e20
      Rasmus Villemoes 提交于
      The patch adding CONFIG_VMLINUX_MAP revealed a small defect in the
      build system: link-vmlinux.sh takes decisions based on CONFIG_*
      options, but changing one of those does not always lead to vmlinux
      being linked again.
      
      For most of the CONFIG_* knobs referenced previously, this has
      probably been hidden by those knobs also affecting some object file,
      hence indirectly also vmlinux.
      
      But CONFIG_VMLINUX_MAP is only handled inside link-vmlinux.sh, and
      changing CONFIG_VMLINUX_MAP=n to CONFIG_VMLINUX_MAP=y does not cause
      the build system to re-link (and hence have vmlinux.map
      emitted). Since that map file is mostly a debugging aid, this is
      merely a nuisance which is easily worked around by just deleting
      vmlinux and building again.
      
      But one could imagine other (possibly future) CONFIG options that
      actually do affect the vmlinux binary but which are not captured
      through some object file dependency.
      
      To fix this, make link-vmlinux.sh emit a .vmlinux.d file in the same
      format as the dependency files generated by gcc, and apply the fixdep
      logic to that. I've tested that this correctly works with both in-tree
      and out-of-tree builds.
      Signed-off-by: NRasmus Villemoes <linux@rasmusvillemoes.dk>
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      0b956e20
    • R
      kbuild: add CONFIG_VMLINUX_MAP expert option · 5cc12472
      Rasmus Villemoes 提交于
      It can be quite useful to have ld emit a link map file, in order to
      debug or verify that special sections end up where they are supposed
      to, and to see what LD_DEAD_CODE_DATA_ELIMINATION manages to get rid
      of.
      
      The only reason I'm not just adding this unconditionally is that the
      .map file can be rather large (several MB), and that's a waste of
      space when one isn't interested in these things. Also make it depend
      on CONFIG_EXPERT.
      Signed-off-by: NRasmus Villemoes <linux@rasmusvillemoes.dk>
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      5cc12472
  7. 14 4月, 2021 1 次提交
  8. 24 2月, 2021 3 次提交
  9. 15 1月, 2021 3 次提交
  10. 09 10月, 2020 1 次提交
    • M
      kbuild: split the build log of kallsyms · 08beb669
      Masahiro Yamada 提交于
      Currently, the build log shows KSYM + object name.
      
      Precisely speaking, kallsyms generates a .S file and then the compiler
      compiles it into a .o file. Split the build log into two.
      
      [Before]
      
        GEN     modules.builtin
        LD      .tmp_vmlinux.kallsyms1
        KSYM    .tmp_vmlinux.kallsyms1.o
        LD      .tmp_vmlinux.kallsyms2
        KSYM    .tmp_vmlinux.kallsyms2.o
        LD      vmlinux
      
      [After]
      
        GEN     modules.builtin
        LD      .tmp_vmlinux.kallsyms1
        KSYMS   .tmp_vmlinux.kallsyms1.S
        AS      .tmp_vmlinux.kallsyms1.o
        LD      .tmp_vmlinux.kallsyms2
        KSYMS   .tmp_vmlinux.kallsyms2.S
        AS      .tmp_vmlinux.kallsyms2.o
        LD      vmlinux
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      08beb669
  11. 24 9月, 2020 1 次提交
  12. 10 8月, 2020 1 次提交
    • M
      kbuild: do not export LDFLAGS_vmlinux · 3ec8a5b3
      Masahiro Yamada 提交于
      When you clean the build tree for ARCH=arm, you may see the following
      error message from 'nm' command:
      
      $ make -j24 ARCH=arm clean
        CLEAN   arch/arm/crypto
        CLEAN   arch/arm/kernel
        CLEAN   arch/arm/mach-at91
        CLEAN   arch/arm/mach-omap2
        CLEAN   arch/arm/vdso
        CLEAN   certs
        CLEAN   lib
        CLEAN   usr
        CLEAN   net/wireless
        CLEAN   drivers/firmware/efi/libstub
      nm: 'arch/arm/boot/compressed/../../../../vmlinux': No such file
      /bin/sh: 1: arithmetic expression: expecting primary: " "
        CLEAN   arch/arm/boot/compressed
        CLEAN   drivers/scsi
        CLEAN   drivers/tty/vt
        CLEAN   arch/arm/boot
        CLEAN   vmlinux.symvers modules.builtin modules.builtin.modinfo
      
      Even if you rerun the same command, the error message will not be
      shown despite vmlinux is already gone.
      
      To reproduce it, the parallel option -j is needed. Single thread
      cleaning always executes 'archclean', 'vmlinuxclean' in this order,
      so vmlinux still exists when arch/arm/boot/compressed/ is cleaned.
      
      Looking at arch/arm/boot/compressed/Makefile does not help understand
      the reason of the error message. Both KBSS_SZ and LDFLAGS_vmlinux are
      assigned with '=' operator, hence, they are not expanded unless used.
      Obviously, 'make clean' does not use them.
      
      In fact, the root cause exists in the top Makefile:
      
        export LDFLAGS_vmlinux
      
      Since LDFLAGS_vmlinux is an exported variable, LDFLAGS_vmlinux in
      arch/arm/boot/compressed/Makefile is expanded when scripts/Makefile.clean
      has a command to execute. This is why the error message shows up only
      when there exist build artifacts in arch/arm/boot/compressed/.
      
      Adding 'unexport LDFLAGS_vmlinux' to arch/arm/boot/compressed/Makefile
      will fix it as far as ARCH=arm is concerned, but I think the proper fix
      is to get rid of 'export LDFLAGS_vmlinux' from the top Makefile.
      
      LDFLAGS_vmlinux in the top Makefile contains linker flags for the top
      vmlinux. LDFLAGS_vmlinux in arch/arm/boot/compressed/Makefile is for
      arch/arm/boot/compressed/vmlinux. They just happen to have the same
      variable name, but are used for different purposes. Stop shadowing
      LDFLAGS_vmlinux.
      
      This commit passes LDFLAGS_vmlinux to scripts/link-vmlinux.sh via a
      command line parameter instead of via an environment variable. LD and
      KBUILD_LDFLAGS are exported, but I did the same for consistency. Anyway,
      they must be included in cmd_link-vmlinux to allow if_changed to detect
      the changes in LD or KBUILD_LDFLAGS.
      
      The following Makefiles are not affected:
      
        arch/arm/boot/compressed/Makefile
        arch/h8300/boot/compressed/Makefile
        arch/nios2/boot/compressed/Makefile
        arch/parisc/boot/compressed/Makefile
        arch/s390/boot/compressed/Makefile
        arch/sh/boot/compressed/Makefile
        arch/sh/boot/romimage/Makefile
        arch/x86/boot/compressed/Makefile
      
      They use ':=' or '=' to clear the LDFLAGS_vmlinux inherited from the
      top Makefile.
      
      We need to take a closer look at the impact to unicore32 and xtensa.
      
      arch/unicore32/boot/compressed/Makefile only uses '+=' operator for
      LDFLAGS_vmlinux. So, the decompressor previously inherited the linker
      flags from the top Makefile.
      
      However, commit 70fac51f ("unicore32 additional architecture files:
      boot process") was merged before commit 1f2bfbd0 ("kbuild: link of
      vmlinux moved to a script"). So, I rather consider this is a bug fix of
      1f2bfbd0.
      
      arch/xtensa/boot/boot-elf/Makefile is also affected, but this is also
      considered a fix for the same reason. It did not inherit LDFLAGS_vmlinux
      when commit 4bedea94 ("[PATCH] xtensa: Architecture support for
      Tensilica Xtensa Part 2") was merged. I deleted $(LDFLAGS_vmlinux),
      which is now empty.
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: NNick Desaulniers <ndesaulniers@google.com>
      Tested-by: NNick Desaulniers <ndesaulniers@google.com>
      3ec8a5b3
  13. 14 7月, 2020 1 次提交
  14. 10 6月, 2020 1 次提交
  15. 06 6月, 2020 1 次提交
    • M
      modpost: generate vmlinux.symvers and reuse it for the second modpost · 269a535c
      Masahiro Yamada 提交于
      The full build runs modpost twice, first for vmlinux.o and second for
      modules.
      
      The first pass dumps all the vmlinux symbols into Module.symvers, but
      the second pass parses vmlinux again instead of reusing the dump file,
      presumably because it needs to avoid accumulating stale symbols.
      
      Loading symbol info from a dump file is faster than parsing an ELF object.
      Besides, modpost deals with various issues to parse vmlinux in the second
      pass.
      
      A solution is to make the first pass dumps symbols into a separate file,
      vmlinux.symvers. The second pass reads it, and parses module .o files.
      The merged symbol information is dumped into Module.symvers in the same
      way as before.
      
      This makes further modpost cleanups possible.
      
      Also, it fixes the problem of 'make vmlinux', which previously overwrote
      Module.symvers, throwing away module symbols.
      
      I slightly touched scripts/link-vmlinux.sh so that vmlinux is re-linked
      when you cross this commit. Otherwise, vmlinux.symvers would not be
      generated.
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      269a535c
  16. 22 4月, 2020 1 次提交
  17. 19 3月, 2020 1 次提交
  18. 05 3月, 2020 1 次提交
    • K
      kbuild: Remove debug info from kallsyms linking · af73d78b
      Kees Cook 提交于
      When CONFIG_DEBUG_INFO is enabled, the two kallsyms linking steps spend
      time collecting and writing the dwarf sections to the temporary output
      files. kallsyms does not need this information, and leaving it off
      halves their linking time. This is especially noticeable without
      CONFIG_DEBUG_INFO_REDUCED. The BTF linking stage, however, does still
      need those details.
      
      Refactor the BTF and kallsyms generation stages slightly for more
      regularized temporary names. Skip debug during kallsyms links.
      Additionally move "info BTF" to the correct place since commit
      8959e392 ("kbuild: Parameterize kallsyms generation and correct
      reporting"), which added "info LD ..." to vmlinux_link calls.
      
      For a full debug info build with BTF, my link time goes from 1m06s to
      0m54s, saving about 12 seconds, or 18%.
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NAndrii Nakryiko <andriin@fb.com>
      Link: https://lore.kernel.org/bpf/202003031814.4AEA3351@keescook
      af73d78b
  19. 11 2月, 2020 1 次提交
    • M
      kbuild: fix mismatch between .version and include/generated/compile.h · 083bc0e1
      Masahiro Yamada 提交于
      Since commit 56d58936 ("kbuild: do not create orphan built-in.a or
      obj-y objects"), scripts/link-vmlinux.sh does nothing when descending
      into init/.
      
      Once the version number becomes out of sync between .version and
      include/generated/compile.h, it is not self-healing.
      
      [How to reproduce]
      
       $ echo 100 > .version
       $ make
      
      You will see the number in the .version is always bigger than that in
      compile.h by one. After this, every time you run 'make', the vmlinux is
      re-linked even when none of source files is updated.
      
      Fixes: 56d58936 ("kbuild: do not create orphan built-in.a or obj-y objects")
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      083bc0e1
  20. 23 1月, 2020 1 次提交
  21. 07 1月, 2020 1 次提交
    • M
      kbuild: create modules.builtin without Makefile.modbuiltin or tristate.conf · 8b41fc44
      Masahiro Yamada 提交于
      Commit bc081dd6 ("kbuild: generate modules.builtin") added
      infrastructure to generate modules.builtin, the list of all
      builtin modules.
      
      Basically, it works like this:
      
        - Kconfig generates include/config/tristate.conf, the list of
          tristate CONFIG options with a value in a capital letter.
      
        - scripts/Makefile.modbuiltin makes Kbuild descend into
          directories to collect the information of builtin modules.
      
      I am not a big fan of it because Kbuild ends up with traversing
      the source tree twice.
      
      I am not sure how perfectly it should work, but this approach cannot
      avoid false positives; even if the relevant CONFIG option is tristate,
      some Makefiles forces obj-m to obj-y.
      
      Some examples are:
      
        arch/powerpc/platforms/powermac/Makefile:
          obj-$(CONFIG_NVRAM:m=y)         += nvram.o
      
        net/ipv6/Makefile:
          obj-$(subst m,y,$(CONFIG_IPV6)) += inet6_hashtables.o
      
        net/netlabel/Makefile:
          obj-$(subst m,y,$(CONFIG_IPV6)) += netlabel_calipso.o
      
      Nobody has complained about (or noticed) it, so it is probably fine to
      have false positives in modules.builtin.
      
      This commit simplifies the implementation. Let's exploit the fact
      that every module has MODULE_LICENSE(). (modpost shows a warning if
      MODULE_LICENSE is missing. If so, 0-day bot would already have blocked
      such a module.)
      
      I added MODULE_FILE to <linux/module.h>. When the code is being compiled
      as builtin, it will be filled with the file path of the module, and
      collected into modules.builtin.info. Then, scripts/link-vmlinux.sh
      extracts the list of builtin modules out of it.
      
      This new approach fixes the false-positives above, but adds another
      type of false-positives; non-modular code may have MODULE_LICENSE()
      by mistake. This is not a big deal, it is just the code is always
      orphan. We can clean it up if we like. You can see cleanup examples by:
      
        $ git log --grep='make.* explicitly non-modular'
      
      To sum up, this commits deletes lots of code, but still produces almost
      equivalent results. Please note it does not increase the vmlinux size at
      all. As you can see in include/asm-generic/vmlinux.lds.h, the .modinfo
      section is discarded in the link stage.
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      8b41fc44
  22. 13 12月, 2019 2 次提交
  23. 29 11月, 2019 1 次提交
    • S
      bpf: Force .BTF section start to zero when dumping from vmlinux · df786c9b
      Stanislav Fomichev 提交于
      While trying to figure out why fentry_fexit selftest doesn't pass for me
      (old pahole, broken BTF), I found out that my latest patch can break vmlinux
      .BTF generation. objcopy preserves section start when doing --only-section,
      so there is a chance (depending on where pahole inserts .BTF section) to
      have leading empty zeroes. Let's explicitly force section offset to zero.
      
      Before:
      
      $ objcopy --set-section-flags .BTF=alloc -O binary \
      	--only-section=.BTF vmlinux .btf.vmlinux.bin
      $ xxd .btf.vmlinux.bin | head -n1
      00000000: 0000 0000 0000 0000 0000 0000 0000 0000  ................
      
      After:
      
      $ objcopy --change-section-address .BTF=0 \
      	--set-section-flags .BTF=alloc -O binary \
      	--only-section=.BTF vmlinux .btf.vmlinux.bin
      $ xxd .btf.vmlinux.bin | head -n1
      00000000: 9feb 0100 1800 0000 0000 0000 80e1 1c00  ................
                ^BTF magic
      
      As part of this change, I'm also dropping '2>/dev/null' from objcopy
      invocation to be able to catch possible other issues (objcopy doesn't
      produce any warnings for me anymore, it did before with --dump-section).
      
      Fixes: da5fb182 ("bpf: Support pre-2.25-binutils objcopy for vmlinux BTF")
      Signed-off-by: NStanislav Fomichev <sdf@google.com>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NJohn Fastabend <john.fastabend@gmail.com>
      Cc: Andrii Nakryiko <andriin@fb.com>
      Link: https://lore.kernel.org/bpf/20191127225759.39923-1-sdf@google.com
      df786c9b
  24. 28 11月, 2019 1 次提交
  25. 07 9月, 2019 1 次提交
  26. 21 8月, 2019 2 次提交
  27. 14 8月, 2019 1 次提交
  28. 13 8月, 2019 1 次提交
    • A
      btf: expose BTF info through sysfs · 341dfcf8
      Andrii Nakryiko 提交于
      Make .BTF section allocated and expose its contents through sysfs.
      
      /sys/kernel/btf directory is created to contain all the BTFs present
      inside kernel. Currently there is only kernel's main BTF, represented as
      /sys/kernel/btf/kernel file. Once kernel modules' BTFs are supported,
      each module will expose its BTF as /sys/kernel/btf/<module-name> file.
      
      Current approach relies on a few pieces coming together:
      1. pahole is used to take almost final vmlinux image (modulo .BTF and
         kallsyms) and generate .BTF section by converting DWARF info into
         BTF. This section is not allocated and not mapped to any segment,
         though, so is not yet accessible from inside kernel at runtime.
      2. objcopy dumps .BTF contents into binary file and subsequently
         convert binary file into linkable object file with automatically
         generated symbols _binary__btf_kernel_bin_start and
         _binary__btf_kernel_bin_end, pointing to start and end, respectively,
         of BTF raw data.
      3. final vmlinux image is generated by linking this object file (and
         kallsyms, if necessary). sysfs_btf.c then creates
         /sys/kernel/btf/kernel file and exposes embedded BTF contents through
         it. This allows, e.g., libbpf and bpftool access BTF info at
         well-known location, without resorting to searching for vmlinux image
         on disk (location of which is not standardized and vmlinux image
         might not be even available in some scenarios, e.g., inside qemu
         during testing).
      
      Alternative approach using .incbin assembler directive to embed BTF
      contents directly was attempted but didn't work, because sysfs_proc.o is
      not re-compiled during link-vmlinux.sh stage. This is required, though,
      to update embedded BTF data (initially empty data is embedded, then
      pahole generates BTF info and we need to regenerate sysfs_btf.o with
      updated contents, but it's too late at that point).
      
      If BTF couldn't be generated due to missing or too old pahole,
      sysfs_btf.c handles that gracefully by detecting that
      _binary__btf_kernel_bin_start (weak symbol) is 0 and not creating
      /sys/kernel/btf at all.
      
      v2->v3:
      - added Documentation/ABI/testing/sysfs-kernel-btf (Greg K-H);
      - created proper kobject (btf_kobj) for btf directory (Greg K-H);
      - undo v2 change of reusing vmlinux, as it causes extra kallsyms pass
        due to initially missing  __binary__btf_kernel_bin_{start/end} symbols;
      
      v1->v2:
      - allow kallsyms stage to re-use vmlinux generated by gen_btf();
      Reviewed-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NAndrii Nakryiko <andriin@fb.com>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      341dfcf8
  29. 31 7月, 2019 1 次提交
    • M
      kbuild: modpost: do not parse unnecessary rules for vmlinux modpost · a721588d
      Masahiro Yamada 提交于
      Since commit ff9b45c5 ("kbuild: modpost: read modules.order instead
      of $(MODVERDIR)/*.mod"), 'make vmlinux' emits a warning, like this:
      
      $ make defconfig vmlinux
        [ snip ]
        LD      vmlinux.o
      cat: modules.order: No such file or directory
        MODPOST vmlinux.o
        MODINFO modules.builtin.modinfo
        KSYM    .tmp_kallsyms1.o
        KSYM    .tmp_kallsyms2.o
        LD      vmlinux
        SORTEX  vmlinux
        SYSMAP  System.map
      
      When building only vmlinux, KBUILD_MODULES is not set. Hence, the
      modules.order is not generated. For the vmlinux modpost, it is not
      necessary at all.
      
      Separate scripts/Makefile.modpost for the vmlinux/modules stages.
      This works more efficiently because the vmlinux modpost does not
      need to include .*.cmd files.
      
      Fixes: ff9b45c5 ("kbuild: modpost: read modules.order instead of $(MODVERDIR)/*.mod")
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      a721588d
  30. 07 5月, 2019 1 次提交
    • A
      moduleparam: Save information about built-in modules in separate file · 898490c0
      Alexey Gladkov 提交于
      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: NGleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
      Signed-off-by: NGleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
      Signed-off-by: NAlexey Gladkov <gladkov.alexey@gmail.com>
      Acked-by: NJessica Yu <jeyu@kernel.org>
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      898490c0
  31. 06 5月, 2019 1 次提交
  32. 16 4月, 2019 1 次提交
    • A
      kbuild: handle old pahole more gracefully when generating BTF · 68e5ab1f
      Andrii Nakryiko 提交于
      When CONFIG_DEBUG_INFO_BTF is enabled but available version of pahole is too
      old to support BTF generation, build script is supposed to emit warning and
      proceed with the build. Due to using exit instead of return from BASH function,
      existing handling code prematurely exits exit code 0, not completing some of
      the build steps. This patch fixes issue by correctly returning just from
      gen_btf() function only.
      
      Fixes: e83b9f55 ("kbuild: add ability to generate BTF type info for vmlinux")
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Alexei Starovoitov <ast@fb.com>
      Cc: Yonghong Song <yhs@fb.com>
      Cc: Martin KaFai Lau <kafai@fb.com>
      Signed-off-by: NAndrii Nakryiko <andriin@fb.com>
      Acked-by: NSong Liu <songliubraving@fb.com>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      68e5ab1f