acpi/nfit, libnvdimm/security: Add security DSM overwrite support
authorDave Jiang <dave.jiang@intel.com>
Thu, 13 Dec 2018 22:36:18 +0000 (15:36 -0700)
committerDan Williams <dan.j.williams@intel.com>
Fri, 21 Dec 2018 20:44:41 +0000 (12:44 -0800)
commit7d988097c546187ada602cc9bccd0f03d473eb8f
treeb12b12421f99c50d61fdf2485981933ed7ff5dcd
parent64e77c8c047fb91ea8c7800c1238108a72f0bf9c
acpi/nfit, libnvdimm/security: Add security DSM overwrite support

Add support for the NVDIMM_FAMILY_INTEL "ovewrite" capability as
described by the Intel DSM spec v1.7. This will allow triggering of
overwrite on Intel NVDIMMs. The overwrite operation can take tens of
minutes. When the overwrite DSM is issued successfully, the NVDIMMs will
be unaccessible. The kernel will do backoff polling to detect when the
overwrite process is completed. According to the DSM spec v1.7, the 128G
NVDIMMs can take up to 15mins to perform overwrite and larger DIMMs will
take longer.

Given that overwrite puts the DIMM in an indeterminate state until it
completes introduce the NDD_SECURITY_OVERWRITE flag to prevent other
operations from executing when overwrite is happening. The
NDD_WORK_PENDING flag is added to denote that there is a device reference
on the nvdimm device for an async workqueue thread context.

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/acpi/nfit/core.c
drivers/acpi/nfit/intel.c
drivers/nvdimm/bus.c
drivers/nvdimm/dimm_devs.c
drivers/nvdimm/nd-core.h
drivers/nvdimm/region_devs.c
drivers/nvdimm/security.c
include/linux/libnvdimm.h