[PATCH v2 0/2] Driver for Open Profile for DICE

From: David Brazdil
Date: Thu Dec 09 2021 - 10:11:38 EST


Open Profile for DICE is a secret derivation protocol used by some
Android devices. The firmware/bootloader generates the secrets and hands
them over to Linux in a reserved memory region.
See https://pigweed.googlesource.com/open-dice for more details.

This patchset adds the corresponding DeviceTree bindings and a driver
that takes ownership of the memory region and exposes it to userspace
via a misc device.

The patches are based on top of v5.16-rc4 and can also be found here:
https://android-kvm.googlesource.com/linux topic/dice_v2

Changes since v1:
* converted to miscdevice
* all mappings now write-combine to simplify semantics
* removed atomic state, any attempt at exclusive access
* simplified wipe, applied on ioctl, not on release
* fixed ioctl return value

David Brazdil (2):
dt-bindings: firmware: Add Open Profile for DICE
misc: dice: Add driver to forward secrets to userspace

.../devicetree/bindings/firmware/dice.yaml | 51 ++++++
.../userspace-api/ioctl/ioctl-number.rst | 1 +
drivers/misc/Kconfig | 8 +
drivers/misc/Makefile | 1 +
drivers/misc/dice.c | 161 ++++++++++++++++++
include/uapi/linux/dice.h | 14 ++
6 files changed, 236 insertions(+)
create mode 100644 Documentation/devicetree/bindings/firmware/dice.yaml
create mode 100644 drivers/misc/dice.c
create mode 100644 include/uapi/linux/dice.h

--
2.34.1.400.ga245620fadb-goog