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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1674588616.git.tom.saeger@oracle.com>
Date:   Tue, 24 Jan 2023 14:14:17 -0700
From:   Tom Saeger <tom.saeger@...cle.com>
To:     Naresh Kamboju <naresh.kamboju@...aro.org>
Cc:     John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>,
        Rich Felker <dalias@...c.org>,
        Masahiro Yamada <masahiroy@...nel.org>,
        Ard Biesheuvel <ardb@...nel.org>,
        Nathan Chancellor <nathan@...nel.org>,
        Dennis Gilmore <dennis@...il.us>,
        Palmer Dabbelt <palmer@...osinc.com>,
        Arnd Bergmann <arnd@...db.de>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Tom Saeger <tom.saeger@...cle.com>, stable@...r.kernel.org,
        linux-kernel@...r.kernel.org, linux-sh@...r.kernel.org
Subject: [PATCH 5.4 fix build id for arm64 with CONFIG_MODVERSIONS 0/6]

Build ID on arm64 is broken if CONFIG_MODVERSIONS=y
on 5.4, 5.10, and 5.15

Discussed:
https://lore.kernel.org/all/3df32572ec7016e783d37e185f88495831671f5d.1671143628.git.tom.saeger@oracle.com/
https://lore.kernel.org/all/cover.1670358255.git.tom.saeger@oracle.com/

Which is fixed for arm64 with backporting:
[2/6] ("arch: fix broken BuildID for arm64 and riscv")

Which had fixes:
[3/6] powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT
[4/6] powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds
[5/6] s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36

But broke arch/sh (or so it was thought).
arch/sh is also broken in mainline.

[6/6] sh: define RUNTIME_DISCARD_EXIT
*NOTE* is not in mainline, but was sent here:
https://lore.kernel.org/all/9166a8abdc0f979e50377e61780a4bba1dfa2f52.1674518464.git.tom.saeger@oracle.com/

There was enough breakage in 5.4.230-rc1 that the previous series was
dropped (which didn't have 1/6 or 6/6).
https://lore.kernel.org/stable/CA+G9fYuYi1Rvv19R_EVdht_7LV9qiR-6KVvZUGjct3kEk0uQTA@mail.gmail.com/

[1/6] 84d5f77fc2ee ("x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS")
First defined RUNTIME_DISCARD_EXIT generically and its use for x86_64
specifically.

  $ git describe --contains 84d5f77fc2ee4e0
  v5.7-rc1~164^2~1

Which explains why the previous series broke 5.4.


I've build tested on a fairly wide matrix so far, but would appreciate
more testing.

with and without CONFIG_MODVERSIONS=y

  # view Build ID
  $ readelf -n vmlinux | grep "Build ID"

5.10 and 5.15 will have a similar series [2-6], as both already have [1/6].

If arch/sh is a must have, then [6/6] needs to find its way into mainline.


Regards,

--Tom


H.J. Lu (1):
  x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS

Masahiro Yamada (2):
  arch: fix broken BuildID for arm64 and riscv
  s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36

Michael Ellerman (2):
  powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT
  powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds

Tom Saeger (1):
  sh: define RUNTIME_DISCARD_EXIT

 arch/powerpc/kernel/vmlinux.lds.S |  6 +++++-
 arch/s390/kernel/vmlinux.lds.S    |  2 ++
 arch/sh/kernel/vmlinux.lds.S      |  1 +
 arch/x86/kernel/vmlinux.lds.S     |  1 +
 include/asm-generic/vmlinux.lds.h | 16 ++++++++++++++--
 5 files changed, 23 insertions(+), 3 deletions(-)


base-commit: 90245959a5b936ee013266e5d1e6a508ed69274e
-- 
2.39.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ