pstore/ram: Report backend assignments with finer granularity
authorKees Cook <keescook@chromium.org>
Thu, 1 Nov 2018 21:14:47 +0000 (14:14 -0700)
committerKees Cook <keescook@chromium.org>
Tue, 4 Dec 2018 00:52:35 +0000 (16:52 -0800)
In order to more easily perform automated regression testing, this
adds pr_debug() calls to report each prz allocation which can then be
verified against persistent storage. Specifically, seeing the dividing
line between header, data, any ECC bytes. (And the general assignment
output is updated to remove the bogus ECC blocksize which isn't actually
recorded outside the prz instance.)

Signed-off-by: Kees Cook <keescook@chromium.org>
fs/pstore/ram.c
fs/pstore/ram_core.c

index 768759841491374961110806152d392a56184e2d..10ac4d23c42310c5e845a73ffc20ae7d7ef00396 100644 (file)
@@ -853,9 +853,9 @@ static int ramoops_probe(struct platform_device *pdev)
        ramoops_pmsg_size = pdata->pmsg_size;
        ramoops_ftrace_size = pdata->ftrace_size;
 
-       pr_info("attached 0x%lx@0x%llx, ecc: %d/%d\n",
+       pr_info("using 0x%lx@0x%llx, ecc: %d\n",
                cxt->size, (unsigned long long)cxt->phys_addr,
-               cxt->ecc_info.ecc_size, cxt->ecc_info.block_size);
+               cxt->ecc_info.ecc_size);
 
        return 0;
 
index f5d0173901aa21060edc4aa9774638e4939f1ecf..62830734deee8377b57e7737838d59c3c72725cd 100644 (file)
@@ -576,6 +576,12 @@ struct persistent_ram_zone *persistent_ram_new(phys_addr_t start, size_t size,
        if (ret)
                goto err;
 
+       pr_debug("attached %s 0x%zx@0x%llx: %zu header, %zu data, %zu ecc (%d/%d)\n",
+               prz->label, prz->size, (unsigned long long)prz->paddr,
+               sizeof(*prz->buffer), prz->buffer_size,
+               prz->size - sizeof(*prz->buffer) - prz->buffer_size,
+               prz->ecc_info.ecc_size, prz->ecc_info.block_size);
+
        return prz;
 err:
        persistent_ram_free(prz);