diff options
author | Namhyung Kim <namhyung@kernel.org> | 2016-05-18 08:00:06 -0400 |
---|---|---|
committer | Kees Cook <keescook@chromium.org> | 2016-05-31 15:36:45 -0400 |
commit | 235f6d157d43a761052e643b8799f86fdc87b47f (patch) | |
tree | b338ce1083c8b16e11351b27f00c31358387c8eb | |
parent | 98e44fda2ea19c0e8b0a2e0e4dcd3461251f09ea (diff) |
pstore: Cleanup pstore_dump()
The code is duplicate between compression is enabled or not.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
-rw-r--r-- | fs/pstore/platform.c | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c index ad8ef2298047..fe41d8ec663a 100644 --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c | |||
@@ -306,19 +306,25 @@ static void pstore_dump(struct kmsg_dumper *dumper, | |||
306 | int hsize; | 306 | int hsize; |
307 | int zipped_len = -1; | 307 | int zipped_len = -1; |
308 | size_t len; | 308 | size_t len; |
309 | bool compressed; | 309 | bool compressed = false; |
310 | size_t total_len; | 310 | size_t total_len; |
311 | 311 | ||
312 | if (big_oops_buf && is_locked) { | 312 | if (big_oops_buf && is_locked) { |
313 | dst = big_oops_buf; | 313 | dst = big_oops_buf; |
314 | hsize = sprintf(dst, "%s#%d Part%u\n", why, | 314 | size = big_oops_buf_sz; |
315 | oopscount, part); | 315 | } else { |
316 | size = big_oops_buf_sz - hsize; | 316 | dst = psinfo->buf; |
317 | size = psinfo->bufsize; | ||
318 | } | ||
317 | 319 | ||
318 | if (!kmsg_dump_get_buffer(dumper, true, dst + hsize, | 320 | hsize = sprintf(dst, "%s#%d Part%u\n", why, oopscount, part); |
319 | size, &len)) | 321 | size -= hsize; |
320 | break; | 322 | |
323 | if (!kmsg_dump_get_buffer(dumper, true, dst + hsize, | ||
324 | size, &len)) | ||
325 | break; | ||
321 | 326 | ||
327 | if (big_oops_buf && is_locked) { | ||
322 | zipped_len = pstore_compress(dst, psinfo->buf, | 328 | zipped_len = pstore_compress(dst, psinfo->buf, |
323 | hsize + len, psinfo->bufsize); | 329 | hsize + len, psinfo->bufsize); |
324 | 330 | ||
@@ -326,21 +332,9 @@ static void pstore_dump(struct kmsg_dumper *dumper, | |||
326 | compressed = true; | 332 | compressed = true; |
327 | total_len = zipped_len; | 333 | total_len = zipped_len; |
328 | } else { | 334 | } else { |
329 | compressed = false; | ||
330 | total_len = copy_kmsg_to_buffer(hsize, len); | 335 | total_len = copy_kmsg_to_buffer(hsize, len); |
331 | } | 336 | } |
332 | } else { | 337 | } else { |
333 | dst = psinfo->buf; | ||
334 | hsize = sprintf(dst, "%s#%d Part%u\n", why, oopscount, | ||
335 | part); | ||
336 | size = psinfo->bufsize - hsize; | ||
337 | dst += hsize; | ||
338 | |||
339 | if (!kmsg_dump_get_buffer(dumper, true, dst, | ||
340 | size, &len)) | ||
341 | break; | ||
342 | |||
343 | compressed = false; | ||
344 | total_len = hsize + len; | 338 | total_len = hsize + len; |
345 | } | 339 | } |
346 | 340 | ||