diff options
author | Anton Vorontsov <anton.vorontsov@linaro.org> | 2012-07-20 20:28:25 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-21 13:34:00 -0400 |
commit | c064da47144b11be4697a4611f640086a663016a (patch) | |
tree | 838c1b69e0485ba4b2bda8668dc0c4b3117cb5c8 | |
parent | 533827c921c34310f63e859e1d6d0feec439657d (diff) |
kdb: Switch to nolock variants of kmsg_dump functions
The locked variants are prone to deadlocks (suppose we got to the
debugger w/ the logbuf lock held), so let's switch to nolock variants.
Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | kernel/debug/kdb/kdb_main.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c index df17c935d3c6..1f91413edb87 100644 --- a/kernel/debug/kdb/kdb_main.c +++ b/kernel/debug/kdb/kdb_main.c | |||
@@ -2072,8 +2072,8 @@ static int kdb_dmesg(int argc, const char **argv) | |||
2072 | kdb_set(2, setargs); | 2072 | kdb_set(2, setargs); |
2073 | } | 2073 | } |
2074 | 2074 | ||
2075 | kmsg_dump_rewind(&dumper); | 2075 | kmsg_dump_rewind_nolock(&dumper); |
2076 | while (kmsg_dump_get_line(&dumper, 1, NULL, 0, NULL)) | 2076 | while (kmsg_dump_get_line_nolock(&dumper, 1, NULL, 0, NULL)) |
2077 | n++; | 2077 | n++; |
2078 | 2078 | ||
2079 | if (lines < 0) { | 2079 | if (lines < 0) { |
@@ -2105,8 +2105,8 @@ static int kdb_dmesg(int argc, const char **argv) | |||
2105 | if (skip >= n || skip < 0) | 2105 | if (skip >= n || skip < 0) |
2106 | return 0; | 2106 | return 0; |
2107 | 2107 | ||
2108 | kmsg_dump_rewind(&dumper); | 2108 | kmsg_dump_rewind_nolock(&dumper); |
2109 | while (kmsg_dump_get_line(&dumper, 1, buf, sizeof(buf), &len)) { | 2109 | while (kmsg_dump_get_line_nolock(&dumper, 1, buf, sizeof(buf), &len)) { |
2110 | if (skip) { | 2110 | if (skip) { |
2111 | skip--; | 2111 | skip--; |
2112 | continue; | 2112 | continue; |