acpi/nfit, libnvdimm/security: add Intel DSM 1.8 master passphrase support
With Intel DSM 1.8 [1] two new security DSMs are introduced. Enable/update master passphrase and master secure erase. The master passphrase allows a secure erase to be performed without the user passphrase that is set on the NVDIMM. The commands of master_update and master_erase are added to the sysfs knob in order to initiate the DSMs. They are similar in opeartion mechanism compare to update and erase. [1]: http://pmem.io/documents/NVDIMM_DSM_Interface-V1.8.pdf Signed-off-by: Dave Jiang <dave.jiang@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
@@ -174,18 +174,26 @@ struct nvdimm_key_data {
|
||||
u8 data[NVDIMM_PASSPHRASE_LEN];
|
||||
};
|
||||
|
||||
enum nvdimm_passphrase_type {
|
||||
NVDIMM_USER,
|
||||
NVDIMM_MASTER,
|
||||
};
|
||||
|
||||
struct nvdimm_security_ops {
|
||||
enum nvdimm_security_state (*state)(struct nvdimm *nvdimm);
|
||||
enum nvdimm_security_state (*state)(struct nvdimm *nvdimm,
|
||||
enum nvdimm_passphrase_type pass_type);
|
||||
int (*freeze)(struct nvdimm *nvdimm);
|
||||
int (*change_key)(struct nvdimm *nvdimm,
|
||||
const struct nvdimm_key_data *old_data,
|
||||
const struct nvdimm_key_data *new_data);
|
||||
const struct nvdimm_key_data *new_data,
|
||||
enum nvdimm_passphrase_type pass_type);
|
||||
int (*unlock)(struct nvdimm *nvdimm,
|
||||
const struct nvdimm_key_data *key_data);
|
||||
int (*disable)(struct nvdimm *nvdimm,
|
||||
const struct nvdimm_key_data *key_data);
|
||||
int (*erase)(struct nvdimm *nvdimm,
|
||||
const struct nvdimm_key_data *key_data);
|
||||
const struct nvdimm_key_data *key_data,
|
||||
enum nvdimm_passphrase_type pass_type);
|
||||
int (*overwrite)(struct nvdimm *nvdimm,
|
||||
const struct nvdimm_key_data *key_data);
|
||||
int (*query_overwrite)(struct nvdimm *nvdimm);
|
||||
|
Reference in New Issue
Block a user