diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 4b6459a57fbc5f92f591be1c831f910373687c82..b21a3e61ac743ca0ccd794eb67ba1142808b3b8c 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -3205,6 +3205,7 @@ static void * t_next(struct seq_file *m, void *v, loff_t *pos) { struct ftrace_iterator *iter = m->private; + loff_t l = *pos; /* t_hash_start() must use original pos */ void *ret; if (unlikely(ftrace_disabled)) @@ -3216,13 +3217,13 @@ t_next(struct seq_file *m, void *v, loff_t *pos) if (iter->flags & FTRACE_ITER_PRINTALL) { /* next must increment pos, and t_hash_start does not */ (*pos)++; - return t_hash_start(m, pos); + return t_hash_start(m, &l); } ret = t_func_next(m, pos); if (!ret) - return t_hash_start(m, pos); + return t_hash_start(m, &l); return ret; }