misc: Add Nitro Secure Module driver
authorAlexander Graf <graf@amazon.com>
Wed, 11 Oct 2023 21:35:22 +0000 (21:35 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 19:05:16 +0000 (19:05 +0000)
commitb9873755a6c8ccfce79094c4dce9efa3ecb1a749
tree4281a516ee10819b7caefaad2c354c1d18cc880e
parent110684d58bdb715032bc7fc92ebdb554ae7deeb6
misc: Add Nitro Secure Module driver

When running Linux inside a Nitro Enclave, the hypervisor provides a
special virtio device called "Nitro Security Module" (NSM). This device
has 3 main functions:

  1) Provide attestation reports
  2) Modify PCR state
  3) Provide entropy

This patch adds a driver for NSM that exposes a /dev/nsm device node which
user space can issue an ioctl on this device with raw NSM CBOR formatted
commands to request attestation documents, influence PCR states, read
entropy and enumerate status of the device. In addition, the driver
implements a hwrng backend.

Originally-by: Petre Eftime <petre.eftime@gmail.com>
Signed-off-by: Alexander Graf <graf@amazon.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20231011213522.51781-1-graf@amazon.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
MAINTAINERS
drivers/misc/Kconfig
drivers/misc/Makefile
drivers/misc/nsm.c [new file with mode: 0644]
include/uapi/linux/nsm.h [new file with mode: 0644]