diff mbox series

[NDCTL] ndctl: Add key cleanup after overwrite operation

Message ID 168357518158.2750073.1393407560977941832.stgit@djiang5-mobl3 (mailing list archive)
State Rejected
Headers show
Series [NDCTL] ndctl: Add key cleanup after overwrite operation | expand

Commit Message

Dave Jiang May 8, 2023, 7:46 p.m. UTC
Yi reported [1] the key blob is not removed after an overwrite operation is
performed. Issue is discovered when running ndtest. Add the key blob
removal call to address the issue.

[1]: https://github.com/pmem/ndctl/issues/239

Fixes: 8e4193885357 ("ndctl: add an overwrite option to 'sanitize-dimm'")
Reported-by: Yi Zhang <yi.zhang@redhat.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
---
 ndctl/keys.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Dave Jiang May 12, 2023, 2:53 p.m. UTC | #1
On 5/8/23 12:46 PM, Dave Jiang wrote:
> Yi reported [1] the key blob is not removed after an overwrite operation is
> performed. Issue is discovered when running ndtest. Add the key blob
> removal call to address the issue.
> 
> [1]: https://github.com/pmem/ndctl/issues/239
> 
> Fixes: 8e4193885357 ("ndctl: add an overwrite option to 'sanitize-dimm'")
> Reported-by: Yi Zhang <yi.zhang@redhat.com>
> Signed-off-by: Dave Jiang <dave.jiang@intel.com>

Please ignore patch.

> ---
>   ndctl/keys.c |    5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/ndctl/keys.c b/ndctl/keys.c
> index 2c1f474896c6..3fa076402cfc 100644
> --- a/ndctl/keys.c
> +++ b/ndctl/keys.c
> @@ -658,7 +658,7 @@ int ndctl_dimm_overwrite_key(struct ndctl_dimm *dimm)
>   	int rc;
>   
>   	key = check_dimm_key(dimm, false, ND_USER_KEY);
> -	if (key < 0)
> +	if (key < 0 && key != -ENOKEY)
>   		return key;
>   
>   	rc = run_key_op(dimm, key, ndctl_dimm_overwrite,
> @@ -666,5 +666,8 @@ int ndctl_dimm_overwrite_key(struct ndctl_dimm *dimm)
>   	if (rc < 0)
>   		return rc;
>   
> +	if (key >= 0)
> +		discard_key(dimm, ND_USER_KEY);
> +
>   	return 0;
>   }
> 
>
diff mbox series

Patch

diff --git a/ndctl/keys.c b/ndctl/keys.c
index 2c1f474896c6..3fa076402cfc 100644
--- a/ndctl/keys.c
+++ b/ndctl/keys.c
@@ -658,7 +658,7 @@  int ndctl_dimm_overwrite_key(struct ndctl_dimm *dimm)
 	int rc;
 
 	key = check_dimm_key(dimm, false, ND_USER_KEY);
-	if (key < 0)
+	if (key < 0 && key != -ENOKEY)
 		return key;
 
 	rc = run_key_op(dimm, key, ndctl_dimm_overwrite,
@@ -666,5 +666,8 @@  int ndctl_dimm_overwrite_key(struct ndctl_dimm *dimm)
 	if (rc < 0)
 		return rc;
 
+	if (key >= 0)
+		discard_key(dimm, ND_USER_KEY);
+
 	return 0;
 }