OSDN Git Service

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 7687598..10ac4d2 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 f5d0173..6283073 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);