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