aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/softirq.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/softirq.c')
-rw-r--r--kernel/softirq.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c
index fca82c3..a9d2ba4 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -29,6 +29,7 @@
#include <trace/events/irq.h>
#include <asm/irq.h>
+#include <mach/sec_debug.h>
/*
- No shared variables, all the data are CPU local.
- If a softirq needs serialization, let it serialize itself
@@ -235,7 +236,9 @@ restart:
kstat_incr_softirqs_this_cpu(vec_nr);
trace_softirq_entry(vec_nr);
+ sec_debug_softirq_log(9999, h->action, 4);
h->action(h);
+ sec_debug_softirq_log(9999, h->action, 5);
trace_softirq_exit(vec_nr);
if (unlikely(prev_count != preempt_count())) {
printk(KERN_ERR "huh, entered softirq %u %s %p"
@@ -460,7 +463,9 @@ static void tasklet_action(struct softirq_action *a)
if (!atomic_read(&t->count)) {
if (!test_and_clear_bit(TASKLET_STATE_SCHED, &t->state))
BUG();
+ sec_debug_softirq_log(9997, t->func, 4);
t->func(t->data);
+ sec_debug_softirq_log(9997, t->func, 5);
tasklet_unlock(t);
continue;
}
@@ -495,7 +500,9 @@ static void tasklet_hi_action(struct softirq_action *a)
if (!atomic_read(&t->count)) {
if (!test_and_clear_bit(TASKLET_STATE_SCHED, &t->state))
BUG();
+ sec_debug_softirq_log(9998, t->func, 4);
t->func(t->data);
+ sec_debug_softirq_log(9998, t->func, 5);
tasklet_unlock(t);
continue;
}