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
| ||
|
Date: Fri, 06 Jan 2012 22:15:51 -0500 From: Steven Rostedt <rostedt@...dmis.org> To: LKML <linux-kernel@...r.kernel.org> Cc: Ingo Molnar <mingo@...e.hu>, David Daney <david.daney@...ium.com>, stable <stable@...nel.org> Subject: [PATCH][GIT PULL] recordmcount: Fix handling of elf64 big-endian objects Ingo, Please pull the latest tip/perf/urgent tree, which can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git tip/perf/urgent Head SHA1: 2e885057b7f75035f0b85e02f737891482815a81 David Daney (1): recordmcount: Fix handling of elf64 big-endian objects ---- scripts/recordmcount.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --------------------------- commit 2e885057b7f75035f0b85e02f737891482815a81 Author: David Daney <david.daney@...ium.com> Date: Mon Dec 19 17:42:42 2011 -0800 recordmcount: Fix handling of elf64 big-endian objects. In ELF64, the sh_flags field is 64-bits wide. recordmcount was erroneously treating it as a 32-bit wide field. For little endian objects this works because the flags of interest (SHF_EXECINSTR) reside in the lower 32 bits of the word, and you get the same result with either a 32-bit or 64-bit read. Big endian objects on the other hand do not work at all with this error. The fix: Correctly treat sh_flags as 64-bits wide in elf64 objects. The symptom I observed was that my __start_mcount_loc..__stop_mcount_loc was empty even though ftrace function tracing was enabled. Link: http://lkml.kernel.org/r/1324345362-12230-1-git-send-email-ddaney.cavm@gmail.com Cc: stable@...nel.org # 3.0+ Signed-off-by: David Daney <david.daney@...ium.com> Signed-off-by: Steven Rostedt <rostedt@...dmis.org> diff --git a/scripts/recordmcount.h b/scripts/recordmcount.h index f40a6af6..54e35c1 100644 --- a/scripts/recordmcount.h +++ b/scripts/recordmcount.h @@ -462,7 +462,7 @@ __has_rel_mcount(Elf_Shdr const *const relhdr, /* is SHT_REL or SHT_RELA */ succeed_file(); } if (w(txthdr->sh_type) != SHT_PROGBITS || - !(w(txthdr->sh_flags) & SHF_EXECINSTR)) + !(_w(txthdr->sh_flags) & SHF_EXECINSTR)) return NULL; return txtname; } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists