Re: [PATCH 2/8] pstore: Do not use crash buffer for decompression

From: Kees Cook
Date: Thu Nov 29 2018 - 17:06:56 EST


On Tue, Nov 13, 2018 at 11:56 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> On Fri, Nov 2, 2018 at 1:24 PM, Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> wrote:
> > On Thu, Nov 01, 2018 at 04:51:54PM -0700, Kees Cook wrote:
> >> + workspace = kmalloc(unzipped_len + record->ecc_notice_size,
> >
> > Should tihs be unzipped_len + record->ecc_notice_size + 1. The extra byte
> > being for the NULL character of the ecc notice?
> >
> > This occurred to me when I saw the + 1 in ram.c. It could be better to just
> > abstract the size as a macro.
>
> Ooh, yes, good catch. I'll get this fixed.

I spent more time looking at this, and it seems that only the initial
creation of this string needs the +1, since all other operations are
byte-based not NUL-terminated string based. It's a big odd, and I
might try to clean it up differently, but as it stands, this is okay.
(See inode.c which doesn't include the trailing NUL byte.)

-Kees

--
Kees Cook