1. 14 Feb, 2024 6 commits
    • Nathan Chancellor's avatar
      s390/boot: vmlinux.lds.S: handle '.rela' sections · 64d590a2
      Nathan Chancellor authored
      When building with CONFIG_LD_ORPHAN_WARN after selecting
      CONFIG_ARCH_HAS_LD_ORPHAN_WARN, there are several warnings from
      arch/s390/boot/head.o due to the unhandled presence of '.rela' sections:
      
        s390-linux-ld: warning: orphan section `.rela.iplt' from `arch/s390/boot/head.o' being placed in section `.rela.dyn'
        s390-linux-ld: warning: orphan section `.rela.head.text' from `arch/s390/boot/head.o' being placed in section `.rela.dyn'
        s390-linux-ld: warning: orphan section `.rela.got' from `arch/s390/boot/head.o' being placed in section `.rela.dyn'
        s390-linux-ld: warning: orphan section `.rela.data' from `arch/s390/boot/head.o' being placed in section `.rela.dyn'
        s390-linux-ld: warning: orphan section `.rela.data.rel.ro' from `arch/s390/boot/head.o' being placed in section `.rela.dyn'
        s390-linux-ld: warning: orphan section `.rela.iplt' from `arch/s390/boot/head.o' being placed in section `.rela.dyn'
        s390-linux-ld: warning: orphan section `.rela.head.text' from `arch/s390/boot/head.o' being placed in section `.rela.dyn'
        s390-linux-ld: warning: orphan section `.rela.got' from `arch/s390/boot/head.o' being placed in section `.rela.dyn'
        s390-linux-ld: warning: orphan section `.rela.data' from `arch/s390/boot/head.o' being placed in section `.rela.dyn'
        s390-linux-ld: warning: orphan section `.rela.data.rel.ro' from `arch/s390/boot/head.o' being placed in section `.rela.dyn'
      
      These sections are unneeded for the decompressor and they are not
      emitted in the binary currently. In a manner similar to other
      architectures, coalesce the sections into '.rela.dyn' and ensure it is
      zero sized, which is a safe/tested approach versus full discard.
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Tested-by: default avatarJustin Stitt <justinstitt@google.com>
      Link: https://lore.kernel.org/r/20240207-s390-lld-and-orphan-warn-v1-6-8a665b3346ab@kernel.orgSigned-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      64d590a2
    • Nathan Chancellor's avatar
      s390/boot: vmlinux.lds.S: handle '.init.text' · b23ab303
      Nathan Chancellor authored
      When building with CONFIG_LD_ORPHAN_WARN after selecting
      CONFIG_ARCH_HAS_LD_ORPHAN_WARN, there is a warning about the presence of
      an '.init.text' section in arch/s390/boot:
      
        s390-linux-ld: warning: orphan section `.init.text' from `arch/s390/boot/sclp_early_core.o' being placed in section `.init.text'
      
      arch/s390/boot/sclp_early_core.c includes a file from the main kernel
      build, which picks up a usage of '__init' somewhere. For the
      decompressed image, this section can just be coalesced into '.text'.
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Tested-by: default avatarJustin Stitt <justinstitt@google.com>
      Link: https://lore.kernel.org/r/20240207-s390-lld-and-orphan-warn-v1-5-8a665b3346ab@kernel.orgSigned-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      b23ab303
    • Nathan Chancellor's avatar
      s390: vmlinux.lds.S: explicitly keep various sections · a691c8a6
      Nathan Chancellor authored
      When building with CONFIG_LD_ORPHAN_WARN after selecting
      CONFIG_ARCH_HAS_LD_ORPHAN_WARN, there are some warnings around certain
      ELF sections:
      
        s390-linux-ld: warning: orphan section `.dynstr' from `arch/s390/kernel/head64.o' being placed in section `.dynstr'
        s390-linux-ld: warning: orphan section `.dynamic' from `arch/s390/kernel/head64.o' being placed in section `.dynamic'
        s390-linux-ld: warning: orphan section `.hash' from `arch/s390/kernel/head64.o' being placed in section `.hash'
        s390-linux-ld: warning: orphan section `.gnu.hash' from `arch/s390/kernel/head64.o' being placed in section `.gnu.hash'
      
      Explicitly keep those sections like other architectures when
      CONFIG_RELOCATABLE is enabled, which is always true for s390.
      
      [hca@linux.ibm.com: keep sections instead of discarding]
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Link: https://lore.kernel.org/r/20240207-s390-lld-and-orphan-warn-v1-4-8a665b3346ab@kernel.orgSigned-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      a691c8a6
    • Nathan Chancellor's avatar
      s390: vmlinux.lds.S: explicitly handle '.got' and '.plt' sections · 30226853
      Nathan Chancellor authored
      When building with CONFIG_LD_ORPHAN_WARN after selecting
      CONFIG_ARCH_HAS_LD_ORPHAN_WARN, there are a lot of warnings around the
      GOT and PLT sections:
      
        s390-linux-ld: warning: orphan section `.plt' from `arch/s390/kernel/head64.o' being placed in section `.plt'
        s390-linux-ld: warning: orphan section `.got' from `arch/s390/kernel/head64.o' being placed in section `.got'
        s390-linux-ld: warning: orphan section `.got.plt' from `arch/s390/kernel/head64.o' being placed in section `.got.plt'
        s390-linux-ld: warning: orphan section `.iplt' from `arch/s390/kernel/head64.o' being placed in section `.iplt'
        s390-linux-ld: warning: orphan section `.igot.plt' from `arch/s390/kernel/head64.o' being placed in section `.igot.plt'
      
        s390-linux-ld: warning: orphan section `.iplt' from `arch/s390/boot/head.o' being placed in section `.iplt'
        s390-linux-ld: warning: orphan section `.igot.plt' from `arch/s390/boot/head.o' being placed in section `.igot.plt'
        s390-linux-ld: warning: orphan section `.got' from `arch/s390/boot/head.o' being placed in section `.got'
      
      Currently, only the '.got' section is actually emitted in the final
      binary. In a manner similar to other architectures, put the '.got'
      section near the '.data' section and coalesce the PLT sections,
      checking that the final section is zero sized, which is a safe/tested
      approach versus full discard.
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Tested-by: default avatarJustin Stitt <justinstitt@google.com>
      Link: https://lore.kernel.org/r/20240207-s390-lld-and-orphan-warn-v1-3-8a665b3346ab@kernel.orgSigned-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      30226853
    • Nathan Chancellor's avatar
      s390: vmlinux.lds.S: handle '.data.rel' sections explicitly · bdf2cd27
      Nathan Chancellor authored
      When building with CONFIG_LD_ORPHAN_WARN after selecting
      CONFIG_ARCH_HAS_LD_ORPHAN_WARN, there are a lot of warnings around
      '.data.rel' sections:
      
        s390-linux-ld: warning: orphan section `.data.rel' from `kernel/sched/build_utility.o' being placed in section `.data.rel'
        s390-linux-ld: warning: orphan section `.data.rel.local' from `kernel/sched/build_utility.o' being placed in section `.data.rel.local'
        s390-linux-ld: warning: orphan section `.data.rel.ro' from `kernel/sched/build_utility.o' being placed in section `.data.rel.ro'
        s390-linux-ld: warning: orphan section `.data.rel.ro.local' from `kernel/sched/build_utility.o' being placed in section `.data.rel.ro.local'
      
      Describe these in vmlinux.lds.S so there is no more warning and the
      sections are placed consistently between linkers.
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Tested-by: default avatarJustin Stitt <justinstitt@google.com>
      Link: https://lore.kernel.org/r/20240207-s390-lld-and-orphan-warn-v1-2-8a665b3346ab@kernel.orgSigned-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      bdf2cd27
    • Nathan Chancellor's avatar
      s390/boot: add support for CONFIG_LD_ORPHAN_WARN · 2151fd9a
      Nathan Chancellor authored
      arch/s390/boot/vmlinux uses a different linker script and build rules
      than the main vmlinux, so the '--orphan-handling' flag is not applied to
      it. Add support for '--orphan-handling' so that all sections are
      properly described in the linker script, which helps eliminate bugs
      between linker implementations having different orphan section
      heuristics.
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Tested-by: default avatarJustin Stitt <justinstitt@google.com>
      Link: https://lore.kernel.org/r/20240207-s390-lld-and-orphan-warn-v1-1-8a665b3346ab@kernel.orgSigned-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      2151fd9a
  2. 12 Feb, 2024 2 commits
  3. 09 Feb, 2024 30 commits
  4. 04 Feb, 2024 2 commits
    • Linus Torvalds's avatar
      Linux 6.8-rc3 · 54be6c6c
      Linus Torvalds authored
      54be6c6c
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 3f24fcda
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "Miscellaneous bug fixes and cleanups in ext4's multi-block allocator
        and extent handling code"
      
      * tag 'for-linus-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (23 commits)
        ext4: make ext4_set_iomap() recognize IOMAP_DELALLOC map type
        ext4: make ext4_map_blocks() distinguish delalloc only extent
        ext4: add a hole extent entry in cache after punch
        ext4: correct the hole length returned by ext4_map_blocks()
        ext4: convert to exclusive lock while inserting delalloc extents
        ext4: refactor ext4_da_map_blocks()
        ext4: remove 'needed' in trace_ext4_discard_preallocations
        ext4: remove unnecessary parameter "needed" in ext4_discard_preallocations
        ext4: remove unused return value of ext4_mb_release_group_pa
        ext4: remove unused return value of ext4_mb_release_inode_pa
        ext4: remove unused return value of ext4_mb_release
        ext4: remove unused ext4_allocation_context::ac_groups_considered
        ext4: remove unneeded return value of ext4_mb_release_context
        ext4: remove unused parameter ngroup in ext4_mb_choose_next_group_*()
        ext4: remove unused return value of __mb_check_buddy
        ext4: mark the group block bitmap as corrupted before reporting an error
        ext4: avoid allocating blocks from corrupted group in ext4_mb_find_by_goal()
        ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found()
        ext4: avoid dividing by 0 in mb_update_avg_fragment_size() when block bitmap corrupt
        ext4: avoid bb_free and bb_fragments inconsistency in mb_free_blocks()
        ...
      3f24fcda