Re: [PATCH 11/11] pstore/ram: Add ECC support

Kees Cook
2012-05-14T22:22:33Z

On Fri, May 11, 2012 at 5:18 PM, Anton Vorontsov
<anton.vorontsov@linaro.org> wrote:
> This is now straightforward: just introduce a module parameter and pass
> the needed value to persistent_ram_new().
>
> Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>

Acked-by: Kees Cook <keescook@chromium.org>

> ---
>  fs/pstore/ram.c |   12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
> index cf0ad92..eeb4e32 100644
> --- a/fs/pstore/ram.c
> +++ b/fs/pstore/ram.c
> @@ -61,6 +61,11 @@ module_param(dump_oops, int, 0600);
>  MODULE_PARM_DESC(dump_oops,
>                "set to 1 to dump oopses, 0 to only dump panics (default 1)");
>
> +static int ramoops_ecc;
> +module_param_named(ecc, ramoops_ecc, int, 0600);
> +MODULE_PARM_DESC(ramoops_ecc,
> +               "set to 1 to enable ECC support");
> +
>  struct ramoops_context {
>        struct persistent_ram_zone **przs;
>        phys_addr_t phys_addr;
> @@ -251,7 +256,7 @@ static int __init ramoops_probe(struct platform_device *pdev)
>                size_t sz = cxt->record_size;
>                phys_addr_t start = cxt->phys_addr + sz * i;
>
> -               cxt->przs[i] = persistent_ram_new(start, sz, 0);
> +               cxt->przs[i] = persistent_ram_new(start, sz, ramoops_ecc);
>                if (IS_ERR(cxt->przs[i])) {
>                        err = PTR_ERR(cxt->przs[i]);
>                        pr_err("failed to initialize a prz\n");
> @@ -283,9 +288,10 @@ static int __init ramoops_probe(struct platform_device *pdev)
>        record_size = pdata->record_size;
>        dump_oops = pdata->dump_oops;
>
> -       pr_info("attached 0x%lx@0x%llx (%ux0x%zx)\n",
> +       pr_info("attached 0x%lx@0x%llx (%ux0x%zx), ecc: %s\n",
>                cxt->size, (unsigned long long)cxt->phys_addr,
> -               cxt->max_count, cxt->record_size);
> +               cxt->max_count, cxt->record_size,
> +               ramoops_ecc ? "on" : "off");
>
>        return 0;
>
> --
> 1.7.9.2

--
Kees Cook
Chrome OS Security