pstore/ram: Strip ramoops header for correct decompression
authorBen Zhang <[email protected]>
Fri, 31 Oct 2014 00:14:21 +0000 (17:14 -0700)
committerTony Luck <[email protected]>
Wed, 5 Nov 2014 17:58:17 +0000 (09:58 -0800)
commita28726b4fb624f81d637a8afb9ea12fc16500f61
tree97dbec898efa336bca564174d2311acb35eb2c78
parent0df1f2487d2f0d04703f142813d53615d62a1da4
pstore/ram: Strip ramoops header for correct decompression

pstore compression/decompression was added during 3.12.
The ramoops driver prepends a "====timestamp.timestamp-C|D\n"
header to the compressed record before handing it over to pstore
driver which doesn't know about the header. In pstore_decompress(),
the pstore driver reads the first "==" as a zlib header, so the
decompression always fails. For example, this causes the driver
to write /dev/pstore/dmesg-ramoops-0.enc.z instead of
/dev/pstore/dmesg-ramoops-0.

This patch makes the ramoops driver remove the header before
pstore decompression.

Signed-off-by: Ben Zhang <[email protected]>
Acked-by: Kees Cook <[email protected]>
Signed-off-by: Tony Luck <[email protected]>
fs/pstore/ram.c