ramoops: move spin_lock_init after kmalloc error checking
authorGeliang Tang <geliangtang@gmail.com>
Tue, 30 Aug 2016 12:24:42 +0000 (20:24 +0800)
committerKees Cook <keescook@chromium.org>
Thu, 8 Sep 2016 22:01:13 +0000 (15:01 -0700)
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@gmail.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
fs/pstore/ram.c

index f3e3cf0..6ad831b 100644 (file)
@@ -635,12 +635,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);
 
        cxt->pstore.flags = PSTORE_FLAGS_DMESG;
        if (cxt->console_size)