Dan Williams <[email protected]> writes:

> It is not clear why the original implementation of overwrite support
> required the dimm driver to be active before overwrite could proceed. In

Based on the log message, I'd say the intention was the opposite.

> fact that can lead to cases where the kernel retains an invalid cached
> copy of the labels from before the overwrite. Unfortunately the kernel
> has not only allowed that case, but enforced it.
>
> Going forward, allow for overwrite to happen while the label area is
> offline, and follow-on with updates to 'ndctl sanitize-dimm --overwrite'
> to trigger the label area invalidation by default.

That sounds reasonable to me.

> Cc: Vishal Verma <[email protected]>
> Cc: Dave Jiang <[email protected]>
> Cc: Ira Weiny <[email protected]>
> Cc: Jeff Moyer <[email protected]>
> Reported-by: Krzysztof Kensicki <[email protected]>
> Fixes: 7d988097c546 ("acpi/nfit, libnvdimm/security: Add security DSM 
> overwrite support")
> Signed-off-by: Dan Williams <[email protected]>
> ---
>  drivers/nvdimm/security.c |    5 -----
>  1 file changed, 5 deletions(-)
>
> diff --git a/drivers/nvdimm/security.c b/drivers/nvdimm/security.c
> index 4b80150e4afa..b5aa55c61461 100644
> --- a/drivers/nvdimm/security.c
> +++ b/drivers/nvdimm/security.c
> @@ -379,11 +379,6 @@ static int security_overwrite(struct nvdimm *nvdimm, 
> unsigned int keyid)
>                       || !nvdimm->sec.flags)
>               return -EOPNOTSUPP;
>  
> -     if (dev->driver == NULL) {
> -             dev_dbg(dev, "Unable to overwrite while DIMM active.\n");
> -             return -EINVAL;
> -     }
> -
>       rc = check_security_state(nvdimm);
>       if (rc)
>               return rc;

Assuming you've tested this (please confirm):

Acked-by: Jeff Moyer <[email protected]>


Reply via email to