[PATCH v2 0/3] Nvram-to-pstore: compression support for oops data

Kees Cook keescook at chromium.org
Fri Jun 28 01:36:05 EST 2013


On Thu, Jun 27, 2013 at 1:32 AM, Aruna Balakrishnaiah
<aruna at linux.vnet.ibm.com> wrote:
> Changes from v1:
>                 - Add header size argument in the pstore write callback
>                 instead of a separate API to return header size.
>
> The patchset takes care of compressing oops messages while writing to NVRAM,
> so that more oops data can be captured in the given space.
>
> big_oops_buf (2.22 * oops_data_sz) is allocated for compression.
> oops_data_sz is oops header size less of oops partition size.
>
> Pstore will internally call kmsg_dump to capture messages from printk
> buffer. While returning the data to nvram it adds is own header.
>
> For compression:
>         Register pstore with big_oops_buf.
>
> In case compression fails, copy header added by pstore and
> last oops_data_sz bytes (recent messages) of big_oops_buf to
> nvram for which we need to know header size.
>
> patch 01/03 adds an additional argument for header size in pstore_write callback.
>
> pstore read callback of nvram will read the compressed data and return the
> decompressed data so that dmesg file (under /dev/pstore) is readable.
>
> In case decompression fails, instead of having the compressed data (junk) in the
> dmesg file it will skip and continue reading other partitions. This results in
> absence of dmesg file but will still have files relating to other parititons.

This seems good to me. I'm starting to ponder if we need to have some
kind of regular header structure that backends can extend, but that
doesn't need to be part of this series. :)

Acked-by: Kees Cook <keescook at chromium.org>

Thanks,

-Kees

--
Kees Cook
Chrome OS Security


More information about the Linuxppc-dev mailing list