This patch series extends SED OPAL support: it adds IOCTL for setting the shadow MBR done flag which can be useful for unlocking an OPAL disk on boot and it adds IOCTL for writing to the shadow MBR. Also included are some minor fixes and improvements. This series is based on the original work done by Jonas Rabenstein which was submitted in March 2018.[1] There is a fork of sed-opal-temp that can use these new IOCTLs.[2] I tested these on Samsung 840 EVO and 850 EVO drives, on x86-64 and arm64 systems. The series applies on v5.0-rc4. I'm resending as v4 as suggested by Scott Bauer.[3] Changes from v3 to v4: * added Reviewed-by from Scott, including for the patch 16/16 (details in [3]) [1] https://lore.kernel.org/lkml/cover.1521482295.git.jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx/ [2] https://github.com/ghostav/sed-opal-temp [3] https://lore.kernel.org/lkml/20190127211449.GP21149@hacktheplanet/ David Kozub (8): block: sed-opal: fix typos and formatting block: sed-opal: close parameter list in cmd_finalize block: sed-opal: unify cmd start block: sed-opal: unify error handling of responses block: sed-opal: reuse response_get_token to decrease code duplication block: sed-opal: pass steps via argument rather than via opal_dev block: sed-opal: don't repeat opal_discovery0 in each steps array block: sed-opal: rename next to execute_steps Jonas Rabenstein (8): block: sed-opal: use correct macro for method length block: sed-opal: unify space check in add_token_* block: sed-opal: print failed function address block: sed-opal: split generation of bytestring header and content block: sed-opal: add ioctl for done-mark of shadow mbr block: sed-opal: ioctl for writing to shadow mbr block: sed-opal: unify retrieval of table columns block: sed-opal: check size of shadow mbr block/opal_proto.h | 18 + block/sed-opal.c | 845 +++++++++++++++++----------------- include/linux/sed-opal.h | 2 + include/uapi/linux/sed-opal.h | 9 + 4 files changed, 451 insertions(+), 423 deletions(-) -- 2.20.1