Steven Rostedt (Red Hat)
8f86f83709
ftrace: Fix updating of filters for shared global_ops filters
...
As the set_ftrace_filter affects both the function tracer as well as the
function graph tracer, the ops that represent each have a shared
ftrace_ops_hash structure. This allows both to be updated when the filter
files are updated.
But if function graph is enabled and the global_ops (function tracing) ops
is not, then it is possible that the filter could be changed without the
update happening for the function graph ops. This will cause the changes
to not take place and may even cause a ftrace_bug to occur as it could mess
with the trampoline accounting.
The solution is to check if the ops uses the shared global_ops filter and
if the ops itself is not enabled, to check if there's another ops that is
enabled and also shares the global_ops filter. In that case, the
modification still needs to be executed.
Link: http://lkml.kernel.org/r/20150114154329.055980438@goodmis.org
Cc: stable@vger.kernel.org # 3.17+
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2015-01-15 09:37:07 -05:00
..
bpf
bpf: verifier: add checks for BPF_ABS | BPF_IND instructions
2014-12-05 21:47:32 -08:00
configs
debug
kdb: replace strnicmp with strncasecmp
2014-10-14 02:18:25 +02:00
events
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-12-19 13:15:24 -08:00
gcov
gcov: enable GCOV_PROFILE_ALL from ARCH Kconfigs
2014-12-13 12:42:51 -08:00
irq
genirq: Prevent proc race against freeing of irq descriptors
2014-12-13 13:33:07 +01:00
locking
locking/mutex: Don't assume TASK_RUNNING
2014-10-28 10:55:08 +01:00
power
PM: Eliminate CONFIG_PM_RUNTIME
2014-12-19 22:55:06 +01:00
printk
This code is a fork from the trace-3.19 pull as it needed the trace_seq
2014-12-13 14:04:41 -08:00
rcu
Merge branches 'torture.2014.11.03a', 'cpu.2014.11.03a', 'doc.2014.11.13a', 'fixes.2014.11.13a', 'signal.2014.10.29a' and 'rt.2014.10.29a' into HEAD
2014-11-13 10:39:04 -08:00
sched
sched_show_task: fix unsafe usage of ->real_parent
2014-12-10 17:41:09 -08:00
time
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-12-19 13:29:20 -08:00
trace
ftrace: Fix updating of filters for shared global_ops filters
2015-01-15 09:37:07 -05:00
.gitignore
acct.c
acct: eliminate compile warning
2014-10-09 22:26:04 -04:00
async.c
kernel/async.c: switch to pr_foo()
2014-10-09 22:26:04 -04:00
audit.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2014-12-30 10:45:47 -08:00
audit.h
audit: reduce scope of audit_log_fcaps
2014-09-23 16:37:51 -04:00
audit_tree.c
fsnotify: unify inode and mount marks handling
2014-12-13 12:42:53 -08:00
audit_watch.c
audit: invalid op= values for rules
2014-09-23 16:37:53 -04:00
auditfilter.c
Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit
2014-12-23 18:13:16 -08:00
auditsc.c
Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit
2014-12-31 14:52:18 -08:00
backtracetest.c
bounds.c
capability.c
cgroup.c
cgroup: implement cgroup_get_e_css()
2014-11-18 02:49:52 -05:00
cgroup_freezer.c
compat.c
compat: nanosleep: Clarify error handling
2014-09-06 12:58:18 +02:00
configs.c
context_tracking.c
sched: stop the unbound recursion in preempt_schedule_context()
2014-10-28 10:46:05 +01:00
cpu.c
cpu: Avoid puts_pending overflow
2014-11-03 19:21:01 -08:00
cpu_pm.c
cpuset.c
Merge branch 'for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2014-12-11 18:57:19 -08:00
crash_dump.c
cred.c
delayacct.c
dma.c
elfcore.c
exec_domain.c
exit.c
TTY/Serial driver patches for 3.19-rc1
2014-12-14 15:23:32 -08:00
extable.c
ftrace/x86/extable: Add is_ftrace_trampoline() function
2014-11-19 15:25:26 -05:00
fork.c
mm: use new helper functions around the i_mmap_mutex
2014-12-13 12:42:45 -08:00
freezer.c
freezer: remove obsolete comments in __thaw_task()
2014-10-21 23:44:20 +02:00
futex.c
futex: Fix a race condition between REQUEUE_PI and task death
2014-10-26 16:16:18 +01:00
futex_compat.c
groups.c
userns: Don't allow setgroups until a gid mapping has been setablished
2014-12-09 16:58:40 -06:00
hung_task.c
irq_work.c
percpu: Convert remaining __get_cpu_var uses in 3.18-rcX
2014-10-29 11:18:18 -04:00
jump_label.c
kallsyms.c
kernel/kallsyms.c: use __seq_open_private()
2014-10-14 02:18:16 +02:00
kcmp.c
kcmp: fix standard comparison bug
2014-09-10 15:42:12 -07:00
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
kexec.c
kexec: remove unnecessary KERN_ERR from kexec.c
2014-12-13 12:42:51 -08:00
kmod.c
usermodehelper: kill the kmod_thread_locker logic
2014-12-10 17:41:17 -08:00
kprobes.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
2014-12-11 17:30:55 -08:00
ksysfs.c
kthread.c
kernel/kthread.c: partial revert of 81c98869fa ("kthread: ensure locality of task_struct allocations")
2014-10-09 22:25:51 -04:00
latencytop.c
Makefile
kernel: res_counter: remove the unused API
2014-12-10 17:41:04 -08:00
module-internal.h
module.c
The exciting thing here is the getting rid of stop_machine on module
2014-12-18 20:55:41 -08:00
module_signing.c
notifier.c
nsproxy.c
bury struct proc_ns in fs/proc
2014-12-04 14:34:54 -05:00
padata.c
panic.c
kernel: add panic_on_warn
2014-12-10 17:41:10 -08:00
params.c
param: do not set store func without write perm
2014-12-18 12:38:51 +10:30
pid.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2014-12-16 15:53:03 -08:00
pid_namespace.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2014-12-16 15:53:03 -08:00
profile.c
ptrace.c
exit: ptrace: shift "reap dead" code from exit_ptrace() to forget_original_parent()
2014-12-10 17:41:10 -08:00
range.c
reboot.c
kernel: add support for kernel restart handler call chain
2014-09-26 00:00:06 -07:00
relay.c
resource.c
x86: optimize resource lookups for ioremap
2014-10-14 02:18:22 +02:00
seccomp.c
Merge branch 'x86-seccomp-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-10-14 02:27:06 +02:00
signal.c
Merge branch 'x86-mpx-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-12-10 09:34:43 -08:00
smp.c
Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
2014-10-15 07:48:18 +02:00
smpboot.c
sched, smp: Correctly deal with nested sleeps
2014-10-28 10:56:24 +01:00
smpboot.h
softirq.c
rcu: Remove "cpu" argument to rcu_note_context_switch()
2014-11-03 19:20:34 -08:00
stacktrace.c
stacktrace: introduce snprint_stack_trace for buffer output
2014-12-13 12:42:48 -08:00
stop_machine.c
sys.c
x86, mpx: On-demand kernel allocation of bounds tables
2014-11-18 00:58:53 +01:00
sys_ni.c
syscalls: implement execveat() system call
2014-12-13 12:42:51 -08:00
sysctl.c
As the merge window is still open, and this code was not as complex
2014-12-16 12:53:59 -08:00
sysctl_binary.c
kernel: add panic_on_warn
2014-12-10 17:41:10 -08:00
system_certificates.S
system_keyring.c
task_work.c
taskstats.c
kill f_dentry uses
2014-11-19 13:01:25 -05:00
test_kprobes.c
torture.c
torture: Address race in module cleanup
2014-09-16 13:41:06 -07:00
tracepoint.c
tsacct.c
uid16.c
groups: Consolidate the setgroups permission checks
2014-12-05 17:19:27 -06:00
up.c
user-return-notifier.c
scheduler: Replace __get_cpu_var with this_cpu_ptr
2014-08-26 13:45:45 -04:00
user.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2014-12-17 12:31:40 -08:00
user_namespace.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2014-12-17 12:31:40 -08:00
utsname.c
copy address of proc_ns_ops into ns_common
2014-12-04 14:34:47 -05:00
utsname_sysctl.c
watchdog.c
Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
2014-10-15 07:48:18 +02:00
workqueue.c
workqueue: allow rescuer thread to do more work.
2014-12-08 12:39:16 -05:00
workqueue_internal.h