Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'trace-v5.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace

Pull ftrace fix from Steven Rostedt:
"Fix s390 breakage from sorting mcount tables.

The latest merge of the tracing tree sorts the mcount table at build
time. But s390 appears to do things differently (like always) and
replaces the sorted table back to the original unsorted one. As the
ftrace algorithm depends on it being sorted, bad things happen when it
is not, and s390 experienced those bad things.

Add a new config to tell the boot if the mcount table is sorted or
not, and allow s390 to opt out of it"

* tag 'trace-v5.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
ftrace: Fix assuming build time sort works for s390

+10 -3
+8 -1
kernel/trace/Kconfig
··· 70 70 help 71 71 C version of recordmcount available? 72 72 73 + config BUILDTIME_MCOUNT_SORT 74 + bool 75 + default y 76 + depends on BUILDTIME_TABLE_SORT && !S390 77 + help 78 + Sort the mcount_loc section at build time. 79 + 73 80 config TRACER_MAX_TRACE 74 81 bool 75 82 ··· 925 918 config FTRACE_SORT_STARTUP_TEST 926 919 bool "Verify compile time sorting of ftrace functions" 927 920 depends on DYNAMIC_FTRACE 928 - depends on BUILDTIME_TABLE_SORT 921 + depends on BUILDTIME_MCOUNT_SORT 929 922 help 930 923 Sorting of the mcount_loc sections that is used to find the 931 924 where the ftrace knows where to patch functions for tracing
+2 -2
kernel/trace/ftrace.c
··· 6435 6435 6436 6436 /* 6437 6437 * Sorting mcount in vmlinux at build time depend on 6438 - * CONFIG_BUILDTIME_TABLE_SORT, while mcount loc in 6438 + * CONFIG_BUILDTIME_MCOUNT_SORT, while mcount loc in 6439 6439 * modules can not be sorted at build time. 6440 6440 */ 6441 - if (!IS_ENABLED(CONFIG_BUILDTIME_TABLE_SORT) || mod) { 6441 + if (!IS_ENABLED(CONFIG_BUILDTIME_MCOUNT_SORT) || mod) { 6442 6442 sort(start, count, sizeof(*start), 6443 6443 ftrace_cmp_ips, NULL); 6444 6444 } else {