Re: [PATCH] pstore/ram: Fix possible NULL dereference

Kees Cook
2012-07-20T16:31:04Z

On Thu, Jul 19, 2012 at 4:43 PM, Anton Vorontsov
<anton.vorontsov@linaro.org> wrote:
> We can dereference 'cxt->cprz' if console and dump logging are disabled
> (which is unlikely, but still possible to do). This patch fixes the issue
> by changing the code so that we don't dereference przs at all, we can
> just calculate bufsize from console_size and record_size values.
>
> Plus, while at it, the patch improves the buffer size calculation.
>
> After Kay's printk rework, we know the optimal buffer size for console
> logging -- it is LOG_LINE_MAX (defined privately in printk.c). Previously,
> if only console logging was enabled, we would allocate unnecessary large
> buffer in pstore, while we only need LOG_LINE_MAX. (Pstore console logging
> is still capable of handling buffers > LOG_LINE_MAX, it will just do
> multiple calls to psinfo->write).
>
> Note that I don't export the constant, since we will do even a better
> thing soon: we will switch console logging to a new write_buf API, which
> will eliminate the need for the additional buffer; and so we won't need
> the constant.
>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>

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

-Kees

--
Kees Cook
Chrome OS Security