When *pos is 0, trace_start() passes a dummy local variable i to
trace_next() to fetch the first entry without modifying *pos. In that
branch, i was left uninitialized.

While i is discarded and causes no functional issues, initialise i and
keep static analysers happy.

Signed-off-by: Vincent Donnefort <[email protected]>
---
 kernel/trace/trace_remote.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/trace_remote.c b/kernel/trace/trace_remote.c
index ae22d13308a5..aa76845a630a 100644
--- a/kernel/trace/trace_remote.c
+++ b/kernel/trace/trace_remote.c
@@ -748,12 +748,12 @@ static void *trace_start(struct seq_file *m, loff_t *pos)
 
        trace_remote_iter_read_start(iter);
 
+       i = iter->pos;
        if (!*pos) {
                iter->pos = -1;
                return trace_next(m, NULL, &i);
        }
 
-       i = iter->pos;
        while (i < *pos) {
                iter = trace_next(m, NULL, &i);
                if (!iter)
-- 
2.56.0.rc1.310.g51773c2048-goog


Reply via email to