summaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2012-11-02 17:17:59 -0400
committerSteven Rostedt <rostedt@goodmis.org>2013-01-22 23:38:00 -0500
commitc29f122cd7fc178b72b1335b1fce0dff2e5c0f5d (patch)
tree450f3888c9f663298231a29d6a1e63269f815fd0 /security
parent0a016409e42f273415f8225ddf2c58eb2df88034 (diff)
downloadlinux-c29f122cd7fc178b72b1335b1fce0dff2e5c0f5d.tar.gz
linux-c29f122cd7fc178b72b1335b1fce0dff2e5c0f5d.tar.bz2
linux-c29f122cd7fc178b72b1335b1fce0dff2e5c0f5d.zip
ftrace: Add context level recursion bit checking
Currently for recursion checking in the function tracer, ftrace tests a task_struct bit to determine if the function tracer had recursed or not. If it has, then it will will return without going further. But this leads to races. If an interrupt came in after the bit was set, the functions being traced would see that bit set and think that the function tracer recursed on itself, and would return. Instead add a bit for each context (normal, softirq, irq and nmi). A check of which context the task is in is made before testing the associated bit. Now if an interrupt preempts the function tracer after the previous context has been set, the interrupt functions can still be traced. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions