Re: [PATCH 1/2] ramoops: move spin_lock_init after kmalloc error checking

From: Kees Cook
Date: Thu Sep 08 2016 - 16:45:15 EST


On Tue, Aug 30, 2016 at 5:24 AM, Geliang Tang <geliangtang@xxxxxxxxx> wrote:
> If cxt->pstore.buf allocated failed, no need to initialize
> cxt->pstore.buf_lock. So this patch moves spin_lock_init() after the
> error checking.
>
> Signed-off-by: Geliang Tang <geliangtang@xxxxxxxxx>
> ---
> fs/pstore/ram.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
> index 7a034d6..ec1c9e5 100644
> --- a/fs/pstore/ram.c
> +++ b/fs/pstore/ram.c
> @@ -608,12 +608,12 @@ static int ramoops_probe(struct platform_device *pdev)
> cxt->pstore.bufsize = 1024; /* LOG_LINE_MAX */
> cxt->pstore.bufsize = max(cxt->record_size, cxt->pstore.bufsize);
> cxt->pstore.buf = kmalloc(cxt->pstore.bufsize, GFP_KERNEL);
> - spin_lock_init(&cxt->pstore.buf_lock);
> if (!cxt->pstore.buf) {
> pr_err("cannot allocate pstore buffer\n");
> err = -ENOMEM;
> goto fail_clear;
> }
> + spin_lock_init(&cxt->pstore.buf_lock);

Seems fine to me. No harm either way, but better to save on the work.
:) Applied for -next.

Thanks!

-Kees

>
> err = pstore_register(&cxt->pstore);
> if (err) {
> --
> 2.7.4
>



--
Kees Cook
Nexus Security