]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
pstore: do not use message compression without lock
authorKonstantin Khlebnikov <khlebnikov@yandex-team.ru>
Thu, 21 May 2015 16:26:19 +0000 (09:26 -0700)
committerTony Luck <tony.luck@intel.com>
Thu, 21 May 2015 16:26:19 +0000 (09:26 -0700)
pstore_compress() uses static stream buffer for zlib-deflate which
easily crashes when several concurrent threads use one shared state.

Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: Tony Luck <tony.luck@intel.com>
fs/pstore/platform.c

index c4c9a10c5760e057ef7b019e1013d472a2ccaabb..de525ec0b490b2a9b4a0b3d907f1732074eea1af 100644 (file)
@@ -299,7 +299,7 @@ static void pstore_dump(struct kmsg_dumper *dumper,
                bool compressed;
                size_t total_len;
 
-               if (big_oops_buf) {
+               if (big_oops_buf && is_locked) {
                        dst = big_oops_buf;
                        hsize = sprintf(dst, "%s#%d Part%u\n", why,
                                                        oopscount, part);