]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
cxl/pmem: Enforce keyctl ABI for PMEM security
authorDan Williams <dan.j.williams@intel.com>
Thu, 1 Dec 2022 22:03:30 +0000 (14:03 -0800)
committerDan Williams <dan.j.williams@intel.com>
Sat, 3 Dec 2022 07:52:32 +0000 (23:52 -0800)
Preclude the possibility of user tooling sending device secrets in the
clear into the kernel by marking the security commands as exclusive.
This mandates the usage of the keyctl ABI for managing the device
passphrase.

Reviewed-by: Davidlohr Bueso <dave@stgolabs.net>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/166993221008.1995348.11651567302609703175.stgit@dwillia2-xfh.jf.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/cxl/core/mbox.c

index 8747db329087a1f179b6ee38d46f9d57a0c423ca..35dd889f1d3ab8bf6263f72e762891479e3222c9 100644 (file)
@@ -704,6 +704,16 @@ int cxl_enumerate_cmds(struct cxl_dev_state *cxlds)
                rc = 0;
        }
 
+       /*
+        * Setup permanently kernel exclusive commands, i.e. the
+        * mechanism is driven through sysfs, keyctl, etc...
+        */
+       set_bit(CXL_MEM_COMMAND_ID_SET_PASSPHRASE, cxlds->exclusive_cmds);
+       set_bit(CXL_MEM_COMMAND_ID_DISABLE_PASSPHRASE, cxlds->exclusive_cmds);
+       set_bit(CXL_MEM_COMMAND_ID_UNLOCK, cxlds->exclusive_cmds);
+       set_bit(CXL_MEM_COMMAND_ID_PASSPHRASE_SECURE_ERASE,
+               cxlds->exclusive_cmds);
+
 out:
        kvfree(gsl);
        return rc;