All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] sed-opal: keyrings, discovery, revert and key store
@ 2022-07-18 21:01 gjoyce
  2022-07-18 21:01 ` [PATCH 1/4] block: sed-opal: Implement IOC_OPAL_DISCOVERY gjoyce
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: gjoyce @ 2022-07-18 21:01 UTC (permalink / raw)
  To: linux-block
  Cc: keyrings, dhowells, jarkko, jonathan.derrick, brking, greg, gjoyce

From: Greg Joyce <gjoyce@linux.vnet.ibm.com>

The current TCG SED Opal implementation in the block
driver requires that authentication keys be provided
in an ioctl so that they can be presented to the
underlying SED Opal capable drive. Currently, the key
is typically entered by a user with an application
like sedutil or sedcli. While this process works, it
does not lend itself to automation like unlock by a udev
rule.

Extend the SED block driver so it can alternatively
obtain a key from a sed-opal kernel keyring. The SED
ioctls will indicate the source of the key, either
directly in the ioctl data or from the keyring.

Two new SED ioctls have also been added. These are:
  1) IOC_OPAL_REVERT_LSP to revert LSP state
  2) IOC_OPAL_DISCOVERY to discover drive capabilities/state

Also, for platforms that have a permanent key store, the
platform may provide unique platform dependent functions
to read/write variables. The SED block driver has been
modified to attempt to read a key from the platform key
store. If successful, the key value is saved in the kernel
sed-opal keyring. If the platform does not support a
permanent key store, the read will fail and a key will
not be added to the keyring. This patchset does not include
any providers of the variable read/write functions.

Signed-off-by: Greg Joyce <gjoyce@linux.vnet.ibm.com>
Reported-by: kernel test robot <lkp@intel.com>
base-commit: ff6992735ade75aae3e35d16b17da1008d753d28

Greg Joyce (4):
  block: sed-opal: Implement IOC_OPAL_DISCOVERY
  block: sed-opal: Implement IOC_OPAL_REVERT_LSP
  block: sed-opal: keyring support for SED Opal keys
  arch_vars: create arch specific permanent store

 block/Kconfig                 |   1 +
 block/opal_proto.h            |   4 +
 block/sed-opal.c              | 274 +++++++++++++++++++++++++++++++++-
 include/linux/arch_vars.h     |  23 +++
 include/linux/sed-opal.h      |   5 +
 include/uapi/linux/sed-opal.h |  24 ++-
 lib/Makefile                  |   2 +-
 lib/arch_vars.c               |  25 ++++
 8 files changed, 351 insertions(+), 7 deletions(-)
 create mode 100644 include/linux/arch_vars.h
 create mode 100644 lib/arch_vars.c


-- 
2.27.0


^ permalink raw reply	[flat|nested] 17+ messages in thread
* [PATCH 0/4] sed-opal: keyrings, discovery, revert and key store
@ 2022-07-06  2:39 gjoyce
  2022-07-06  2:39 ` [PATCH 4/4] arch_vars: create arch specific permanent store gjoyce
  0 siblings, 1 reply; 17+ messages in thread
From: gjoyce @ 2022-07-06  2:39 UTC (permalink / raw)
  To: keyrings
  Cc: gjoyce, dhowells, jarkko, andrzej.jakowski, jonathan.derrick,
	drmiller.lnx, linux-block, greg

From: Greg Joyce <gjoyce@linux.vnet.ibm.com>

The current TCG SED Opal implementation in the block
driver requires that authentication keys be provided
in an ioctl so that they can be presented to the
underlying SED Opal capable drive. Currently, the key
is typically entered by a user with an application
like sedutil or sedcli. While this process works, it
does not lend itself to automation like unlock by a udev
rule.

Extend the SED block driver so it can alternatively
obtain a key from a sed-opal kernel keyring. The SED
ioctls will indicate the source of the key, either
directly in the ioctl data or from the keyring.

Two new SED ioctls have also been added. These are:
  1) IOC_OPAL_REVERT_LSP to revert LSP state
  2) IOC_OPAL_DISCOVERY to discover drive capabilities/state

Also, for platforms that have a permanent key store, the
platform may provide unique platform dependent functions
to read/write variables. The SED block driver has been
modified to attempt to read a key from the platform key
store. If successful, the key value is saved in the kernel
sed-opal keyring. If the platform does not support a
permanent key store, the read will fail and a key will
not be added to the keyring.


Greg Joyce (4):
  block: sed-opal: Implement IOC_OPAL_DISCOVERY
  block: sed-opal: Implement IOC_OPAL_REVERT_LSP
  block: sed-opal: keyring support for SED Opal keys.
  arch_vars: create arch specific permanent store

 block/opal_proto.h            |   4 +
 block/sed-opal.c              | 274 +++++++++++++++++++++++++++++++++-
 include/linux/arch_vars.h     |  23 +++
 include/linux/sed-opal.h      |   5 +
 include/uapi/linux/sed-opal.h |  24 ++-
 lib/Makefile                  |   2 +-
 lib/arch_vars.c               |  25 ++++
 7 files changed, 350 insertions(+), 7 deletions(-)
 create mode 100644 include/linux/arch_vars.h
 create mode 100644 lib/arch_vars.c

-- 
gjoyce@linux.vnet.ibm.com


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2022-07-28  7:43 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-18 21:01 [PATCH 0/4] sed-opal: keyrings, discovery, revert and key store gjoyce
2022-07-18 21:01 ` [PATCH 1/4] block: sed-opal: Implement IOC_OPAL_DISCOVERY gjoyce
2022-07-20  7:42   ` Christoph Hellwig
2022-07-18 21:01 ` [PATCH 2/4] block: sed-opal: Implement IOC_OPAL_REVERT_LSP gjoyce
2022-07-20  7:44   ` Christoph Hellwig
2022-07-18 21:01 ` [PATCH 3/4] block: sed-opal: keyring support for SED Opal keys gjoyce
2022-07-19  6:49   ` Hannes Reinecke
2022-07-20  7:49   ` Christoph Hellwig
2022-07-18 21:01 ` [PATCH 4/4] arch_vars: create arch specific permanent store gjoyce
2022-07-20  7:50   ` Christoph Hellwig
2022-07-26 18:53     ` Greg Joyce
2022-07-28  7:43 ` [PATCH 0/4] sed-opal: keyrings, discovery, revert and key store Jarkko Sakkinen
  -- strict thread matches above, loose matches on Subject: below --
2022-07-06  2:39 gjoyce
2022-07-06  2:39 ` [PATCH 4/4] arch_vars: create arch specific permanent store gjoyce
2022-07-06  8:11   ` Christoph Hellwig
2022-07-06 14:28     ` Greg Joyce
2022-07-06 17:10   ` kernel test robot
2022-07-08  2:35   ` kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.