Chen Jun
77a81b10f8
ftrace: Have recordmcount use w8 to read relp->r_info in arm64_is_fake_mcount
...
[ Upstream commit 999340d51174ce4141dd723105d4cef872b13ee9 ]
On little endian system, Use aarch64_be(gcc v7.3) downloaded from
linaro.org to build image with CONFIG_CPU_BIG_ENDIAN = y,
CONFIG_FTRACE = y, CONFIG_DYNAMIC_FTRACE = y.
gcc will create symbols of _mcount but recordmcount can not create
mcount_loc for *.o.
aarch64_be-linux-gnu-objdump -r fs/namei.o | grep mcount
00000000000000d0 R_AARCH64_CALL26 _mcount
...
0000000000007190 R_AARCH64_CALL26 _mcount
The reason is than funciton arm64_is_fake_mcount can not work correctly.
A symbol of _mcount in *.o compiled with big endian compiler likes:
00 00 00 2d 00 00 01 1b
w(rp->r_info) will return 0x2d instead of 0x011b. Because w() takes
uint32_t as parameter, which truncates rp->r_info.
Use w8() instead w() to read relp->r_info
Link: https://lkml.kernel.org/r/20210222135840.56250-1-chenjun102@huawei.com
Fixes: ea0eada45632 ("recordmcount: only record relocation of type R_AARCH64_CALL26 on arm64.")
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Chen Jun <chenjun102@huawei.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-09 11:09:39 +01:00
..
atomic
basic
kbuild: remove unneeded comments and code from scripts/basic/Makefile
2019-08-29 23:54:29 +09:00
coccinelle
scripts: add dummy report mode to add_namespace.cocci
2020-08-11 15:33:35 +02:00
dtc
scripts/dtc: only append to HOST_EXTRACFLAGS instead of overwriting
2020-10-07 08:01:29 +02:00
gcc-plugins
gcc-common.h: Update for GCC 10
2020-05-27 17:46:24 +02:00
gdb
scripts/gdb: fix lx-symbols 'gdb.error' while loading modules
2020-07-29 10:18:35 +02:00
genksyms
genksyms: convert to SPDX License Identifier for lex.l and parse.y
2019-09-14 11:40:13 +09:00
kconfig
kconfig: fix return value of do_error_if()
2020-12-30 11:51:29 +01:00
ksymoops
mod
vmlinux.lds.h: Create section for protection against instrumentation
2021-02-17 10:35:16 +01:00
package
kbuild: fix broken builds because of GZIP,BZIP2,LZOP variables
2020-09-03 11:27:10 +02:00
selinux
tracing
.gitignore
adjust_autoksyms.sh
kbuild: remove the first line of *.mod files
2019-07-18 02:19:31 +09:00
asn1_compiler.c
bin2c.c
bloat-o-meter
bootgraph.pl
bpf_helpers_doc.py
cc-can-link.sh
check_extable.sh
checkincludes.pl
checkkconfigsymbols.py
checkpatch.pl
checkpatch: fix unescaped left brace
2020-12-30 11:51:27 +01:00
checkstack.pl
checksyscalls.sh
checkversion.pl
clang-version.sh
cleanfile
cleanpatch
coccicheck
config
scripts/config: allow colons in option strings for sed
2020-05-10 10:31:27 +02:00
conmakehash.c
const_structs.checkpatch
decode_stacktrace.sh
scripts/decode_stacktrace: strip basepath from all paths
2020-07-29 10:18:35 +02:00
decodecode
scripts/decodecode: fix trapping instruction formatting
2020-05-14 07:58:29 +02:00
depmod.sh
depmod: handle the case of /sbin/depmod without /sbin in PATH
2021-01-12 20:16:10 +01:00
diffconfig
documentation-file-ref-check
export_report.pl
modpost: move the namespace field in Module.symvers last
2020-03-25 08:25:55 +01:00
extract-cert.c
extract-ikconfig
extract-module-sig.pl
extract-sys-certs.pl
extract-vmlinux
extract_xc3028.pl
faddr2line
file-size.sh
find-unused-docs.sh
scripts/find-unused-docs: Fix massive false positives
2020-02-11 04:35:23 -08:00
gcc-goto.sh
gcc-ld
gcc-plugin.sh
gcc-version.sh
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
gen_compile_commands.py
gen_compile_commands: lower the entry count threshold
2019-07-27 12:18:19 +09:00
gen_ksymdeps.sh
get_abi.pl
get_dvb_firmware
get_maintainer.pl
gfp-translate
headerdep.pl
headers_check.pl
headers_install.sh
scripts: headers_install: Exit with error on config leak
2020-06-24 17:50:33 +02:00
insert-sys-cert.c
kallsyms.c
scripts/kallsyms: fix definitely-lost memory leak
2020-01-04 19:18:23 +01:00
Kbuild.include
kbuild: improve cc-option to clean up all temporary files
2020-06-30 15:37:05 -04:00
Kconfig.include
kconfig: introduce m32-flag and m64-flag
2020-04-08 09:08:37 +02:00
kernel-doc
kernel-doc: Allow anonymous enum
2019-08-12 15:00:37 -06:00
ld-version.sh
leaking_addresses.pl
Lindent
link-vmlinux.sh
bpf: Support llvm-objcopy for vmlinux BTF
2020-06-17 16:40:20 +02:00
Makefile
scripts: set proper OpenSSL include dir also for sign-file
2021-02-26 10:10:27 +01:00
Makefile.asm-generic
Makefile.build
kbuild: avoid split lines in .mod files
2020-12-30 11:50:57 +01:00
Makefile.clean
kbuild: clean up subdir-ymn calculation in Makefile.clean
2019-08-29 23:54:29 +09:00
Makefile.dtbinst
Makefile.extrawarn
kbuild: Disable -Wpointer-to-enum-cast
2020-03-25 08:25:54 +01:00
Makefile.gcc-plugins
Makefile.headersinst
kbuild: move headers_check rule to usr/include/Makefile
2020-03-05 16:43:47 +01:00
Makefile.host
kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj)
2019-09-04 23:12:50 +09:00
Makefile.kasan
kasan/arm64: fix CONFIG_KASAN_SW_TAGS && KASAN_INLINE
2019-08-15 13:24:04 +01:00
Makefile.kcov
Makefile.lib
kbuild: fix broken builds because of GZIP,BZIP2,LZOP variables
2020-09-03 11:27:10 +02:00
Makefile.modbuiltin
kbuild: get rid of kernel/ prefix from in-tree modules.{order,builtin}
2019-07-17 22:39:27 +09:00
Makefile.modfinal
kbuild: move modkern_{c,a}flags to Makefile.lib from Makefile.build
2019-08-22 01:14:11 +09:00
Makefile.modinst
kbuild: modinst: read modules.order instead of $(MODVERDIR)/*.mod
2019-07-17 22:39:27 +09:00
Makefile.modpost
Modules updates for v5.4
2019-09-22 10:34:46 -07:00
Makefile.modsign
kbuild: modsign: read modules.order instead of $(MODVERDIR)/*.mod
2019-07-17 22:39:27 +09:00
Makefile.package
kbuild: fix broken builds because of GZIP,BZIP2,LZOP variables
2020-09-03 11:27:10 +02:00
Makefile.ubsan
makelst
markup_oops.pl
mkcompile_h
Kbuild: Handle PREEMPT_RT for version string and magic
2019-08-14 01:10:42 +09:00
mkmakefile
kbuild: get rid of $(realpath ...) from scripts/mkmakefile
2019-08-29 23:54:29 +09:00
mksysmap
mksysmap: Fix the mismatch of '.L' symbols in System.map
2020-06-24 17:50:19 +02:00
mkuboot.sh
module-common.lds
modules-check.sh
kbuild: get rid of kernel/ prefix from in-tree modules.{order,builtin}
2019-07-17 22:39:27 +09:00
namespace.pl
namespace: fix namespace.pl script to support relative paths
2019-10-05 15:29:49 +09:00
nsdeps
scripts: add dummy report mode to add_namespace.cocci
2020-08-11 15:33:35 +02:00
objdiff
parse-maintainers.pl
parse-maintainers: Mark as executable
2020-03-25 08:25:49 +01:00
patch-kernel
pnmtologo.c
profile2linkerlist.pl
prune-kernel
recordmcount.c
ftrace: Have recordmcount use w8 to read relp->r_info in arm64_is_fake_mcount
2021-03-09 11:09:39 +01:00
recordmcount.h
recordmcount: support >64k sections
2020-06-30 15:37:05 -04:00
recordmcount.pl
scripts/recordmcount.pl: support big endian for ARCH sh
2021-02-26 10:10:28 +01:00
setlocalversion
scripts/setlocalversion: make git describe output more reliable
2020-11-01 12:01:01 +01:00
show_delta
sign-file.c
sortextable.c
sortextable.h
spdxcheck-test.sh
spdxcheck.py
spelling.txt
sphinx-pre-install
split-man.pl
stackdelta
stackusage
subarch.include
tags.sh
tools-support-relr.sh
scripts/tools-support-relr.sh: un-quote variables
2019-11-13 10:52:05 +00:00
unifdef.c
ver_linux
xen-hypercalls.sh
xz_wrap.sh
kbuild: add variables for compression tools
2020-09-03 11:27:10 +02:00