mbox series

[v3,00/16] block: sed-opal: support shadow MBR done flag and write

Message ID 1548196307-12987-1-git-send-email-zub@linux.fjfi.cvut.cz (mailing list archive)
Headers show
Series block: sed-opal: support shadow MBR done flag and write | expand

Message

David Kozub Jan. 22, 2019, 10:31 p.m. UTC
This patch series extends 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] I tried to apply suggestions made in review on the
list and do some further improvements.

The most contentious issue in the original series was the IOCTL for shadow MBR
write but I think no better approach was found[2] so this was not changed. I'm
open to suggestions.

There is a fork of sed-opal-temp that can use these new IOCTLs.[3] I tested
these on Samsung 840 EVO and 850 EVO drives, on x86-64 and arm64 systems.

The series applies on v5.0-rc3.

Changes from v2 to v3:
* review suggestions from Scott Bauer

As Scott suggested I tried to do a more thorough testing, esp. with things like
wrong passwords/invalid values. I did not observe any crash or unexpected
behavior.

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(-)

Comments

Scott Bauer Jan. 27, 2019, 9:14 p.m. UTC | #1
On Tue, Jan 22, 2019 at 11:31:31PM +0100, David Kozub wrote:
> This patch series extends 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] I tried to apply suggestions made in review on the
> list and do some further improvements.
> 
> The most contentious issue in the original series was the IOCTL for shadow MBR
> write but I think no better approach was found[2] so this was not changed. I'm
> open to suggestions.
> 
> There is a fork of sed-opal-temp that can use these new IOCTLs.[3] I tested
> these on Samsung 840 EVO and 850 EVO drives, on x86-64 and arm64 systems.
> 
> The series applies on v5.0-rc3.
> 
> Changes from v2 to v3:
> * review suggestions from Scott Bauer
> 
> As Scott suggested I tried to do a more thorough testing, esp. with things like
> wrong passwords/invalid values. I did not observe any crash or unexpected
> behavior.
> 
> 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
> 

You forgot to send 16/16 again in v3. I pulled and tested off your github page.
If you send a v4 or just resend that patch you can add my reviewed-by, as I reviewed it
on my tree/from your github.
David Kozub Jan. 28, 2019, 8:27 a.m. UTC | #2
On Sun, 27 Jan 2019, Scott Bauer wrote:

> On Tue, Jan 22, 2019 at 11:31:31PM +0100, David Kozub wrote:
>> 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
>>
>
> You forgot to send 16/16 again in v3. I pulled and tested off your github page.
> If you send a v4 or just resend that patch you can add my reviewed-by, as I reviewed it
> on my tree/from your github.

Hi Scott. Thank you for the review.

W.r.t. the 16th patch: I think I sent it, after all I also see it in 
lore.kernel.org:

https://lore.kernel.org/lkml/1548196307-12987-17-git-send-email-zub@linux.fjfi.cvut.cz/

Anyway, if the best way forward is to send v4, I'll do it.

Best regards,
David