Commit 2170a0d5 authored by Dave Jiang's avatar Dave Jiang Committed by Dan Williams

tools/testing/nvdimm: Retain security state after overwrite

Overwrite retains the security state after completion of operation.  Fix
nfit_test to reflect this so that the kernel can test the behavior it is
more likely to see in practice.

Fixes: 926f7480 ("tools/testing/nvdimm: Add overwrite support for nfit_test")
Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 9dc6488e
...@@ -146,6 +146,7 @@ static int dimm_fail_cmd_code[ARRAY_SIZE(handle)]; ...@@ -146,6 +146,7 @@ static int dimm_fail_cmd_code[ARRAY_SIZE(handle)];
struct nfit_test_sec { struct nfit_test_sec {
u8 state; u8 state;
u8 ext_state; u8 ext_state;
u8 old_state;
u8 passphrase[32]; u8 passphrase[32];
u8 master_passphrase[32]; u8 master_passphrase[32];
u64 overwrite_end_time; u64 overwrite_end_time;
...@@ -1100,7 +1101,7 @@ static int nd_intel_test_cmd_overwrite(struct nfit_test *t, ...@@ -1100,7 +1101,7 @@ static int nd_intel_test_cmd_overwrite(struct nfit_test *t,
return 0; return 0;
} }
memset(sec->passphrase, 0, ND_INTEL_PASSPHRASE_SIZE); sec->old_state = sec->state;
sec->state = ND_INTEL_SEC_STATE_OVERWRITE; sec->state = ND_INTEL_SEC_STATE_OVERWRITE;
dev_dbg(dev, "overwrite progressing.\n"); dev_dbg(dev, "overwrite progressing.\n");
sec->overwrite_end_time = get_jiffies_64() + 5 * HZ; sec->overwrite_end_time = get_jiffies_64() + 5 * HZ;
...@@ -1122,7 +1123,8 @@ static int nd_intel_test_cmd_query_overwrite(struct nfit_test *t, ...@@ -1122,7 +1123,8 @@ static int nd_intel_test_cmd_query_overwrite(struct nfit_test *t,
if (time_is_before_jiffies64(sec->overwrite_end_time)) { if (time_is_before_jiffies64(sec->overwrite_end_time)) {
sec->overwrite_end_time = 0; sec->overwrite_end_time = 0;
sec->state = 0; sec->state = sec->old_state;
sec->old_state = 0;
sec->ext_state = ND_INTEL_SEC_ESTATE_ENABLED; sec->ext_state = ND_INTEL_SEC_ESTATE_ENABLED;
dev_dbg(dev, "overwrite is complete\n"); dev_dbg(dev, "overwrite is complete\n");
} else } else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment