lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABXGCsN8LHqz7=OSvBpKCqKdV4L_4FPXtQ32bgYveA9yP2_xiQ@mail.gmail.com>
Date:   Sun, 25 Sep 2022 03:22:10 +0500
From:   Mikhail Gavrilov <mikhail.v.gavrilov@...il.com>
To:     ast@...nel.org, yhs@...com, sean.wang@...iatek.com
Cc:     Linux List Kernel Mailing <linux-kernel@...r.kernel.org>
Subject: Unable bisect issue because kernel not building from old commits

Hi!
I want to make bisect between commits fdaf9a5840ac and babf0bb978e3,
because after commit babf0bb978e3 Wi-Fi (mt7921e) upload speed became
limited to 170Mbps. On commit fdaf9a5840ac upload speed was 784Mbps.

But I ran into a problem that the gcc-12.2.1 compiler on my
distribution (Fedora) can't build the kernel from old commits. The
build fails with the following error:
ld: warning: arch/x86/power/hibernate_asm_64.o: missing
.note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future
version of the linker
  MODPOST vmlinux.symvers
  MODINFO modules.builtin.modinfo
  GEN     modules.builtin
  CC      .vmlinux.export.o
  LD      .tmp_vmlinux.btf
ld: warning: arch/x86/power/hibernate_asm_64.o: missing
.note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future
version of the linker
ld: warning: .tmp_vmlinux.btf has a LOAD segment with RWX permissions
  BTF     .btf.vmlinux.bin.o
  LD      .tmp_vmlinux.kallsyms1
ld: warning: .btf.vmlinux.bin.o: missing .note.GNU-stack section
implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future
version of the linker
ld: warning: .tmp_vmlinux.kallsyms1 has a LOAD segment with RWX permissions
  KSYMS   .tmp_vmlinux.kallsyms1.S
  AS      .tmp_vmlinux.kallsyms1.S
  LD      .tmp_vmlinux.kallsyms2
ld: warning: .btf.vmlinux.bin.o: missing .note.GNU-stack section
implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future
version of the linker
ld: warning: .tmp_vmlinux.kallsyms2 has a LOAD segment with RWX permissions
  KSYMS   .tmp_vmlinux.kallsyms2.S
  AS      .tmp_vmlinux.kallsyms2.S
  LD      vmlinux
ld: warning: .btf.vmlinux.bin.o: missing .note.GNU-stack section
implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future
version of the linker
ld: warning: vmlinux has a LOAD segment with RWX permissions
  BTFIDS  vmlinux
FAILED: load BTF from vmlinux: Invalid argument
make: *** [Makefile:1160: vmlinux] Error 255
make: *** Deleting file 'vmlinux'


I found a commit that fixes the build:
dffbbdc2d9889670c30e07d05fc0dd712e8ad430 is the first bad commit
commit dffbbdc2d9889670c30e07d05fc0dd712e8ad430
Author: Yonghong Song <yhs@...com>
Date:   Mon Jun 6 23:26:21 2022 -0700

    libbpf: Add enum64 parsing and new enum64 public API

    Add enum64 parsing support and two new enum64 public APIs:
      btf__add_enum64
      btf__add_enum64_value

    Also add support of signedness for BTF_KIND_ENUM. The
    BTF_KIND_ENUM API signatures are not changed. The signedness
    will be changed from unsigned to signed if btf__add_enum_value()
    finds any negative values.

    Acked-by: Andrii Nakryiko <andrii@...nel.org>
    Signed-off-by: Yonghong Song <yhs@...com>
    Link: https://lore.kernel.org/r/20220607062621.3719391-1-yhs@fb.com
    Signed-off-by: Alexei Starovoitov <ast@...nel.org>

 tools/lib/bpf/btf.c      | 103 +++++++++++++++++++++++++++++++++++++++++++++++
 tools/lib/bpf/btf.h      |  12 ++++++
 tools/lib/bpf/libbpf.map |   2 +
 3 files changed, 117 insertions(+)


But I can't cherry pick it because there are conflicts:
$ git bisect start
status: waiting for both good and bad commits
$ git bisect good fdaf9a5840ac
status: waiting for bad commit, 1 good commit known
$ git bisect bad babf0bb978e3
Bisecting: 2687 revisions left to test after this (roughly 11 steps)
[86c87bea6b42100c67418af690919c44de6ede6e] Merge tag
'devicetree-for-5.19' of
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
$ git cherry-pick -n dffbbdc2d9889670c30e07d05fc0dd712e8ad430
Auto-merging tools/lib/bpf/btf.c
CONFLICT (content): Merge conflict in tools/lib/bpf/btf.c
Auto-merging tools/lib/bpf/libbpf.map
CONFLICT (content): Merge conflict in tools/lib/bpf/libbpf.map
error: could not apply dffbbdc2d988... libbpf: Add enum64 parsing and
new enum64 public API
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'

Are there any other options to fix the kernel build?

Thanks.


-- 
Best Regards,
Mike Gavrilov.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ