[PATCH 00/16] sed-opal: fix shadow MBR enable/disable and clean up code

From: David Kozub
Date: Wed Feb 13 2019 - 19:16:40 EST


This patch series contains various code cleanup and fixes for Opal SED support.
It's been created by taking a part of the original patch series by Jonas and me
(PATCHv4 block: sed-opal: support shadow MBR done flag and write) [1], as
suggested by Christoph in [2].

The most important patch is the first one where I tried to fix the shadow MBR
enable/disable issue we discussed in [3]. This change goes against Christoph's
original propsal in [4] but I think - in light of the issue and keeping in mind
the planned addition of an IOCTL specifically for toggling the done flag - that
passing just OPAL_TRUE or OPAL_FALSE to set_mbr_done and set_mbr_enable_disable
is more useful and also more understandable. Maybe this change is superfluous if
Scott found the time to submit his take on the fix. (?)

I tried to include all the feedback from the v4 review[1]. I also added some
more trivial changes (11/16 as suggested in [4]) and also 13/16 motivated by the
same idea - that's why I again reached the magical number of 16 patches.

I kept the reviewed-by/acked-by tags where the changes were trivial but I
removed them where I thought a re-review would be useful.

I plan to submit the remaining patches from the original series (these that add
new Opal IOCTLs) after this fix and cleanup is accepted.

I did a brief test toggling shadow MBR and unlocking a locking range. I will try
to do more thorough tests - but I will not get to it before the beginning of the
next week. It would be great if this could get some more testing. Especially the
unlock from suspend part - that's something I don't have set up and I have not
tested.

The series applies on v5.0-rc6.

[1] https://lore.kernel.org/lkml/1549054223-12220-1-git-send-email-zub@xxxxxxxxxxxxxxxxxx/
[2] https://lore.kernel.org/lkml/20190204150415.GO31132@xxxxxxxxxxxxx/
[3] https://lore.kernel.org/lkml/alpine.LRH.2.21.1902072247060.29258@xxxxxxxxxxxxxxxxxx/
[4] https://lore.kernel.org/lkml/20190204145244.GJ31132@xxxxxxxxxxxxx/

David Kozub (12):
block: sed-opal: fix IOC_OPAL_ENABLE_DISABLE_MBR
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: add token for OPAL_LIFECYCLE
block: sed-opal: unify retrieval of table columns
block: sed-opal: use named Opal tokens instead of integer literals
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 (4):
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/opal_proto.h | 2 +
block/sed-opal.c | 716 ++++++++++++++--------------------
include/uapi/linux/sed-opal.h | 2 +-
3 files changed, 287 insertions(+), 433 deletions(-)

--
2.20.1