Skip to content

Commit

Permalink
clocksource/drivers/prima2: Prevent ftrace recursion
Browse files Browse the repository at this point in the history
Currently prima2 timer can be used as a scheduler clock. We properly
marked sirfsoc_read_sched_clock() as notrace but we then call another
function sirfsoc_timer_read() that _wasn't_ notrace.

Having a traceable function in the sched_clock() path leads to a recursion
within ftrace and a kernel crash.

Fix this by adding notrace attribute to the sirfsoc_timer_read() function.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
  • Loading branch information
Jisheng Zhang authored and Daniel Lezcano committed Oct 27, 2015
1 parent b8725da commit cdc68ec
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/clocksource/timer-prima2.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ static irqreturn_t sirfsoc_timer_interrupt(int irq, void *dev_id)
}

/* read 64-bit timer counter */
static cycle_t sirfsoc_timer_read(struct clocksource *cs)
static cycle_t notrace sirfsoc_timer_read(struct clocksource *cs)
{
u64 cycles;

Expand Down

0 comments on commit cdc68ec

Please sign in to comment.