From: Tim Pepper Date: Thu, 11 Oct 2007 20:11:11 +0000 (+0200) Subject: lockdep: Avoid /proc/lockdep & lock_stat infinite output X-Git-Tag: v2.6.24-rc1~1286^2~11 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=94c61c0aeffe64452e742087cf803d0347ef8418;p=pandora-kernel.git lockdep: Avoid /proc/lockdep & lock_stat infinite output Both /proc/lockdep and /proc/lock_stat output may loop infinitely. When a read() requests an amount of data smaller than the amount of data that the seq_file's foo_show() outputs, the output starts looping and outputs the "stuck" element's data infinitely. There may be multiple sequential calls to foo_start(), foo_next()/foo_show(), and foo_stop() for a single open with sequential read of the file. The _start() does not have to start with the 0th element and _show() might be called multiple times in a row for the same element for a given open/read of the seq_file. Also header output should not be happening in _start(). All output should be in _show(), which SEQ_START_TOKEN is meant to help. Having output in _start() may also negatively impact seq_file's seq_read() and traverse() accounting. Signed-off-by: Tim Pepper Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Cc: Ingo Molnar Cc: Al Viro --- Reading git-diff-tree failed