commit c34d1b22fef329d5cecd003d7be249937ec70a3c
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Fri Oct 28 13:02:36 2022 +0200

    Linux 5.10.151
    
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ecad3312111798d84dac1ce6a853e0ac9de8d505
Author: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Date:   Wed Oct 19 10:56:04 2022 +0200

    kbuild: Add skip_encoding_btf_enum64 option to pahole
    
    New pahole (version 1.24) generates by default new BTF_KIND_ENUM64 BTF tag,
    which is not supported by stable kernel.
    
    As a result the kernel with CONFIG_DEBUG_INFO_BTF option will fail to
    compile with following error:
    
      BTFIDS  vmlinux
    FAILED: load BTF from vmlinux: Invalid argument
    
    New pahole provides --skip_encoding_btf_enum64 option to skip BTF_KIND_ENUM64
    generation and produce BTF supported by stable kernel.
    
    Adding this option to scripts/pahole-flags.sh.
    
    This change does not have equivalent commit in linus tree, because linus tree
    has support for BTF_KIND_ENUM64 tag, so it does not need to be disabled.
    
    Signed-off-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c5006abb80e276896ff7237300a6d447708c7924
Author: Jiri Olsa <jolsa@redhat.com>
Date:   Wed Oct 19 10:56:03 2022 +0200

    kbuild: Unify options for BTF generation for vmlinux and modules
    
    commit 9741e07ece7c247dd65e1aa01e16b683f01c05a8 upstream.
    
    [skipped --btf_gen_floats option in pahole-flags.sh, skipped
    Makefile.modfinal change, because there's no BTF kmod support,
    squashing in 'exit 0' change from merge commit fc02cb2b37fe]
    
    Using new PAHOLE_FLAGS variable to pass extra arguments to
    pahole for both vmlinux and modules BTF data generation.
    
    Adding new scripts/pahole-flags.sh script that detect and
    prints pahole options.
    
    [ fixed issues found by kernel test robot ]
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Acked-by: Andrii Nakryiko <andrii@kernel.org>
    Link: https://lore.kernel.org/bpf/20211029125729.70002-1-jolsa@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f5f413cb3e8af235c5d310bea9942424fb242c2c
Author: Andrii Nakryiko <andrii@kernel.org>
Date:   Wed Oct 19 10:56:02 2022 +0200

    kbuild: skip per-CPU BTF generation for pahole v1.18-v1.21
    
    commit a0b8200d06ad6450c179407baa5f0f52f8cfcc97 upstream.
    
    [small context changes due to missing floats support in 5.10]
    
    Commit "mm/page_alloc: convert per-cpu list protection to local_lock" will
    introduce a zero-sized per-CPU variable, which causes pahole to generate
    invalid BTF.  Only pahole versions 1.18 through 1.21 are impacted, as
    before 1.18 pahole doesn't know anything about per-CPU variables, and 1.22
    contains the proper fix for the issue.
    
    Luckily, pahole 1.18 got --skip_encoding_btf_vars option disabling BTF
    generation for per-CPU variables in anticipation of some unanticipated
    problems.  So use this escape hatch to disable per-CPU var BTF info on
    those problematic pahole versions.  Users relying on availability of
    per-CPU var BTFs would need to upgrade to pahole 1.22+, but everyone won't
    notice any regressions.
    
    Link: https://lkml.kernel.org/r/20210530002536.3193829-1-andrii@kernel.org
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Acked-by: Mel Gorman <mgorman@techsingularity.net>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Hao Luo <haoluo@google.com>
    Cc: Michal Suchanek <msuchanek@suse.de>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 06481cd9f7f692088bce03244f8cf132018f2fc6
Author: Javier Martinez Canillas <javierm@redhat.com>
Date:   Wed Oct 19 10:56:01 2022 +0200

    kbuild: Quote OBJCOPY var to avoid a pahole call break the build
    
    commit ff2e6efda0d5c51b33e2bcc0b0b981ac0a0ef214 upstream.
    
    [backported for dependency, skipped Makefile.modfinal change,
    because module BTF is not supported in 5.10]
    
    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: 5f9ae91f7c0d ("kbuild: Build kernel module BTFs if BTF is enabled and pahole supports it")
    Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Acked-by: Andrii Nakryiko <andrii@kernel.org>
    Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Link: https://lore.kernel.org/bpf/20210526215228.3729875-1-javierm@redhat.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bbaea0f1cd33d702d053d5bdaf6d6dec3932894c
Author: Ilya Leoshkevich <iii@linux.ibm.com>
Date:   Wed Oct 19 10:56:00 2022 +0200

    bpf: Generate BTF_KIND_FLOAT when linking vmlinux
    
    commit db16c1fe92d7ba7d39061faef897842baee2c887  upstream.
    
    [backported for dependency only extra_paholeopt variable setup and
    usage, we don't want floats generated in 5.10]
    
    pahole v1.21 supports the --btf_gen_floats flag, which makes it
    generate the information about the floating-point types [1].
    
    Adjust link-vmlinux.sh to pass this flag to pahole in case it's
    supported, which is determined using a simple version check.
    
    [1] https://lore.kernel.org/dwarves/YHRiXNX1JUF2Az0A@kernel.org/
    
    Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Acked-by: Andrii Nakryiko <andrii@kernel.org>
    Link: https://lore.kernel.org/bpf/20210413190043.21918-1-iii@linux.ibm.com
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>