[tip:core/locking] lockdep: Fix missing entry in /proc/lock_stat

tip-bot for Li Zefan
2009-08-17T08:02:59Z

Commit-ID: 212274347fc4d2a7c56bf6c953b02c809e7e0be1
Gitweb: http://git.kernel.org/tip/212274347fc4d2a7c56bf6c953b02c809e7e0be1
Author: Li Zefan <lizf@cn.fujitsu.com>
AuthorDate: Mon, 17 Aug 2009 13:39:33 +0800
Committer: Ingo Molnar <mingo@elte.hu>
CommitDate: Mon, 17 Aug 2009 09:54:39 +0200

lockdep: Fix missing entry in /proc/lock_stat

One entry is missing in the output of /proc/lock_stat.

The cause is, when ls_start() is called the 2nd time, we should
start from stats[@pos-1] but not stats[@pos], because pos == 0
is the header.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <4A88ED15.20800@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

---
kernel/lockdep_proc.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/lockdep_proc.c b/kernel/lockdep_proc.c
index fba81f1..5dbe30b 100644
--- a/kernel/lockdep_proc.c
+++ b/kernel/lockdep_proc.c
@@ -634,7 +634,7 @@ static void *ls_start(struct seq_file *m, loff_t *pos)
if (*pos == 0)
return SEQ_START_TOKEN;

- data->iter = data->stats + *pos;
+ data->iter = data->stats + (*pos - 1);
if (data->iter >= data->iter_end)
data->iter = NULL;