On Mon, May 22, 2017 at 10:46 PM, Ankit Kumar <[email protected]> wrote:
> commit 9abdcccc3d5f ("pstore: Extract common arguments into structure") moved
> record decompression to function. decompress_record() gets called without
> checking type and compressed flag. Warning will be reported if data is
> uncompressed. Pstore type PSTORE_TYPE_PPC_OPAL, PSTORE_TYPE_PPC_COMMON doesn't
> contain compressed data and warning get printed part of dmesg.
>
> Partial dmesg log:
> [   35.848914] pstore: ignored compressed record type 6
> [   35.848927] pstore: ignored compressed record type 8
>
> Above warning should not get printed as it is known that data won't be
> compressed for above type and it is valid condition.
>
> This patch returns if data is not compressed and print warning only if data is
> compressed and type is not PSTORE_TYPE_DMESG.

Ah, thanks for catching that! Applied for -next.

-Kees

>
> Reported-by: Anton Blanchard <[email protected]>
> Signed-off-by: Ankit Kumar <[email protected]>
> Reviewed-by: Mahesh Salgaonkar <[email protected]>
> ---
>  fs/pstore/platform.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
> index d468eec..b304553 100644
> --- a/fs/pstore/platform.c
> +++ b/fs/pstore/platform.c
> @@ -770,8 +770,11 @@ static void decompress_record(struct pstore_record 
> *record)
>         int unzipped_len;
>         char *decompressed;
>
> +       if (!record->compressed)
> +               return;
> +
>         /* Only PSTORE_TYPE_DMESG support compression. */
> -       if (!record->compressed || record->type != PSTORE_TYPE_DMESG) {
> +       if (record->type != PSTORE_TYPE_DMESG) {
>                 pr_warn("ignored compressed record type %d\n", record->type);
>                 return;
>         }
> --
> 2.7.4
>



-- 
Kees Cook
Pixel Security

Reply via email to