]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Merge tag 'objtool-core-2026-04-13' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Apr 2026 20:00:04 +0000 (13:00 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Apr 2026 20:00:04 +0000 (13:00 -0700)
Pull objtool updates from Ingo Molnar:

 - KLP support updates and fixes (Song Liu)

 - KLP-build script updates and fixes (Joe Lawrence)

 - Support Clang RAX DRAP sequence, to address clang false positive
   (Josh Poimboeuf)

 - Reorder ORC register numbering to match regular x86 register
   numbering (Josh Poimboeuf)

 - Misc cleanups (Wentong Tian, Song Liu)

* tag 'objtool-core-2026-04-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  objtool/x86: Reorder ORC register numbering
  objtool: Support Clang RAX DRAP sequence
  livepatch/klp-build: report patch validation fuzz
  livepatch/klp-build: add terminal color output
  livepatch/klp-build: provide friendlier error messages
  livepatch/klp-build: improve short-circuit validation
  livepatch/klp-build: fix shellcheck complaints
  livepatch/klp-build: add Makefile with check target
  livepatch/klp-build: add grep-override function
  livepatch/klp-build: switch to GNU patch and recountdiff
  livepatch/klp-build: support patches that add/remove files
  objtool/klp: Correlate locals to globals
  objtool/klp: Match symbols based on demangled_name for global variables
  objtool/klp: Remove .llvm suffix in demangle_name()
  objtool/klp: Also demangle global objects
  objtool/klp: Use sym->demangled_name for symbol_name hash
  objtool/klp: Remove trailing '_' in demangle_name()
  objtool/klp: Remove redundant strcmp() in correlate_symbols()
  objtool: Use section/symbol type helpers

1  2 
scripts/livepatch/klp-build
tools/objtool/arch/x86/decode.c
tools/objtool/check.c
tools/objtool/elf.c
tools/objtool/klp-diff.c

index 7b82c7503c2bf010a07d71aae00c54ea06f07c83,839f9b6bfe1f157ee959d819cd6dc2dc351e8d64..0ad7e6631314205163db6ad84f89a404372ee078
@@@ -282,23 -299,25 +299,24 @@@ set_module_name() 
  }
  
  # Hardcode the value printed by the localversion script to prevent patch
- # application from appending it with '+' due to a dirty git working tree.
+ # application from appending it with '+' due to a dirty working tree.
  set_kernelversion() {
        local file="$SRC/scripts/setlocalversion"
 -      local localversion
 +      local kernelrelease
  
        stash_file "$file"
  
 -      localversion="$(cd "$SRC" && make --no-print-directory kernelversion)"
 -      localversion="$(cd "$SRC" && KERNELVERSION="$localversion" ./scripts/setlocalversion)"
 -      [[ -z "$localversion" ]] && die "setlocalversion failed"
 +      kernelrelease="$(cd "$SRC" && make syncconfig &>/dev/null && make -s kernelrelease)"
 +      [[ -z "$kernelrelease" ]] && die "failed to get kernel version"
  
 -      sed -i "2i echo $localversion; exit 0" scripts/setlocalversion
 +      sed -i "2i echo $kernelrelease; exit 0" scripts/setlocalversion
  }
  
- get_patch_files() {
+ get_patch_input_files() {
        local patch="$1"
  
-       grep0 -E '^(--- |\+\+\+ )' "$patch"                     \
+       grep0 -E '^--- ' "$patch"                               \
+               | grep0 -v -e '/dev/null' -e '1969-12-31' -e '1970-01-01' \
                | gawk '{print $2}'                             \
                | sed 's|^[^/]*/||'                             \
                | sort -u
Simple merge
Simple merge
index 2ffe3ebfbe37c19008f3e7c536ff44d02f28f079,8122c5f5141c546fa673c17d95ecd5a670396837..f3df2bde119fc4760645eff3b760c87d8fb7a906
@@@ -1358,9 -1428,9 +1411,9 @@@ void *elf_add_data(struct elf *elf, str
                memcpy(sec->data->d_buf, data, size);
  
        sec->data->d_size = size;
 -      sec->data->d_align = 1;
 +      sec->data->d_align = sec->sh.sh_addralign;
  
-       offset = ALIGN(sec->sh.sh_size, sec->sh.sh_addralign);
+       offset = ALIGN(sec_size(sec), sec->sh.sh_addralign);
        sec->sh.sh_size = offset + size;
  
        mark_sec_changed(elf, sec, true);
Simple merge