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 <keesc...@chromium.org>
---
 fs/pstore/ram.c      | 4 ++--
 fs/pstore/ram_core.c | 6 ++++++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index 768759841491..10ac4d23c423 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -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;
 
diff --git a/fs/pstore/ram_core.c b/fs/pstore/ram_core.c
index f5d0173901aa..62830734deee 100644
--- a/fs/pstore/ram_core.c
+++ b/fs/pstore/ram_core.c
@@ -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);
-- 
2.17.1

Reply via email to