diff options
author | Dave Jiang <dave.jiang@intel.com> | 2018-12-04 10:31:11 -0800 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2018-12-04 10:31:11 -0800 |
commit | b3ed2ce024c36054e51cca2eb31a1cdbe4a5f11e (patch) | |
tree | 6407ab38fea25437e92ddfbd5cf4104bdcf5b306 /drivers/nvdimm | |
parent | 2595646791c319cadfdbf271563aac97d0843dc7 (diff) | |
download | linux-b3ed2ce024c36054e51cca2eb31a1cdbe4a5f11e.tar.gz linux-b3ed2ce024c36054e51cca2eb31a1cdbe4a5f11e.tar.bz2 linux-b3ed2ce024c36054e51cca2eb31a1cdbe4a5f11e.zip |
acpi/nfit: Add support for Intel DSM 1.8 commands
Add command definition for security commands defined in Intel DSM
specification v1.8 [1]. This includes "get security state", "set
passphrase", "unlock unit", "freeze lock", "secure erase", "overwrite",
"overwrite query", "master passphrase enable/disable", and "master
erase", . Since this adds several Intel definitions, move the relevant
bits to their own header.
These commands mutate physical data, but that manipulation is not cache
coherent. The requirement to flush and invalidate caches makes these
commands unsuitable to be called from userspace, so extra logic is added
to detect and block these commands from being submitted via the ioctl
command submission path.
Lastly, the commands may contain sensitive key material that should not
be dumped in a standard debug session. Update the nvdimm-command
payload-dump facility to move security command payloads behind a
default-off compile time switch.
[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>
Diffstat (limited to 'drivers/nvdimm')
-rw-r--r-- | drivers/nvdimm/bus.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/nvdimm/bus.c b/drivers/nvdimm/bus.c index f1fb39921236..9743d8083538 100644 --- a/drivers/nvdimm/bus.c +++ b/drivers/nvdimm/bus.c @@ -902,7 +902,7 @@ static int nd_cmd_clear_to_send(struct nvdimm_bus *nvdimm_bus, /* ask the bus provider if it would like to block this request */ if (nd_desc->clear_to_send) { - int rc = nd_desc->clear_to_send(nd_desc, nvdimm, cmd); + int rc = nd_desc->clear_to_send(nd_desc, nvdimm, cmd, data); if (rc) return rc; |